PHP - 将 foreach 转换为数组

标签 php arrays

任何人都可以帮助我
我对下面的代码有点问题

foreach ($products as $product) {
   $product->name;
   $product->code;
   ...
}

我使用 var_dump($products) 的输出代码

array
    0 =>
      object(stdClass)
       ...
       ...
       ...
    1 =>
      object(stdClass)
       ...
       ...
       ...

我需要这样的输出

$output = array(
    array('name' => 'item1', 'code' => 'code1', 'price' => '10.00'),
    array('name' => 'item2', 'code' => 'code2', 'price' => '20.00')
);

最佳答案

为此,有一个函数是php json_decode()

mixed json_decode ( string $json [, bool $assoc = false [, int $depth = 512 [, int $options = 0 ]]] )

需要明智地使用这个功能。

正如您在功能描述中看到的那样,

函数的三个参数:

1) 待转换的变量。

2) 作为关联数组返回。

3) Depth: default => 512.表示最大深度为512级(在多维数组或复杂对象的情况下),如果第二个参数设置为true<,子元素将被转换为数组.

首先用 json_encode() 编码你的变量并使用解码 json_decode() .

json_decode()的第二个参数应设置为 true

true 意味着返回关联数组而不是原始类型。

伪代码:

$output = json_decode(json_encode($yourVar), TRUE);

关于PHP - 将 foreach 转换为数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40457832/

相关文章:

php - Laravel - 将多个数据保存到数据库中的一列

javascript - angularJs 形式未正确将对象添加到数组中。 2 路绑定(bind)不起作用

php - 在 Laravel 中混淆数组和对象

c++ - 无符号字符数组与指针参数不兼容

Java 我可以在不知道其大小的情况下从文件恢复二维数组吗?

arrays - 追加字典数组

PHP RecursiveIteratorIterator 和嵌套集合

php - ftp_delete - 文件存在但未找到

php - 更新个人详细信息 PHP 脚本

javascript - AJAX POST - 如何在 PHP 中使用 js 变量