Without foreach, 我怎么能把这样的数组

array("item1"=>"object1", "item2"=>"object2",......."item-n"=>"object-n");

像这样的绳子

item1='object1', item2='object2',.... item-n='object-n'

我已经想到了implode(),但它并没有让 keys 内爆.

如果有必要,可以不嵌套foreach吗?

我换了线


EDIT2/UPDATE:

在本例中:将foreach放入函数比编写一行程序更具可读性和模块化(尽管所有答案都很棒!)

推荐答案

还有另一种方式:

$input = array(
    'item1'  => 'object1',
    'item2'  => 'object2',
    'item-n' => 'object-n'
);

$output = implode(', ', array_map(
    function ($v, $k) {
        if(is_array($v)){
            return $k.'[]='.implode('&'.$k.'[]=', $v);
        }else{
            return $k.'='.$v;
        }
    }, 
    $input, 
    array_keys($input)
));

或者:

$output = implode(', ', array_map(
    function ($v, $k) { return sprintf("%s='%s'", $k, $v); },
    $input,
    array_keys($input)
));

Php相关问答推荐

谷歌云SQL / mysql谁是对的?

通过访问单个产品页面更新WooCommerce产品元数据

WordPress插件和JSON不是有效的响应错误

添加并显示单价字段到WooCommerce产品变化

基于自定义域的每个购物车项目的WooCommerce定制数量输入步骤

WooCommerce在购物车项目中复制产品而不增加产品数量

PHP:使用FORT从数据库获取USERS表到AUTH表

未收到Strava WebHook事件数据

在WooCommerce中只允许高价产品的BACS付款

拉威尔10有许多通过获取所有祖父母数据的子元素S图像

调用模型[App\Models\Employee]上未定义的关系[title]

在 WooCommerce 订阅续订订单中设置送货方式

将可编辑的计费自定义字段添加到 WooCommerce 管理单个订单

使用 secure 和 httponly 选项删除 php 中的 cookie 值得吗?

Google Drive API 服务->文件->get('root') 失败并显示找不到文件. (范围问题?)

正则表达式将文本替换为标签 html 以字符开头

PHP简单地将物品装在盒子里会导致未使用的空间,但还有剩余容量

Shopware 6.4.20店铺激活问题

htaccess php 文件,然后是文件夹

fopen 功能不断向我发送我重新加载网页时已发布的重复版本的表单