Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用循环在数组上添加项_Php_Arrays_Loops - Fatal编程技术网

Php 使用循环在数组上添加项

Php 使用循环在数组上添加项,php,arrays,loops,Php,Arrays,Loops,我想使用循环将项添加到数组中。但我不能把它做好 我试过这段代码,但它无法提供我想要的格式/输出 $img_arr[]= ""; foreach ($images as $image) { $img_arr['src'][] .= $image['src']; } 我想要这种输出 array ( 'src' => 'https://example.com/wp-content/uploads/2019/07/3.jpg', ), array ( 'src

我想使用循环将项添加到数组中。但我不能把它做好

我试过这段代码,但它无法提供我想要的格式/输出

$img_arr[]= "";
foreach ($images as $image) { 
    $img_arr['src'][] .=  $image['src'];
}
我想要这种输出

array (
    'src' => 'https://example.com/wp-content/uploads/2019/07/3.jpg',
  ),
  array (
    'src' => 'https://example.com/wp-content/uploads/2019/07/2-1.jpg',
  ),
  array (
    'src' => 'https://example.com/wp-content/uploads/2019/07/3.jpg',
  ),
  array (
    'src' => 'https://example.com/wp-content/uploads/2019/07/1-1.jpg',
  ),
  array (
    'src' => 'https://example.com/wp-content/uploads/2019/07/4-1.jpg',
  )
此代码:

foreach ($images as $image) { 
    $img_arr['src'][] .=  $image['src'];
}
将单个数组添加到$img_arr,以“src”作为键,URL作为值。等号之前的周期也是不必要的

你想要这个:

foreach ($images as $image) { 
    $img_arr[] =  ['src' => $image['src']];
}
这将向$img_arr添加一系列新数组。添加的每个数组都是一个键值对,key=“src”,value=[无论URL是什么]。

稍微更改一下代码:

$img_arr = []; //create an array variable
foreach ($images as $image) {
  //assign child-array to newly create array variable
  $img_arr[] =  ['src'=>$image['src']]; 
}
print_r($img_arr); //check desired output coming or not?

使用
$img_arr[]=”初始化数组这将导致

array(1) {
  [0]=>
  string(0) ""
}
我想你的意思是
$img_arr=[]

在foreach中使用
=
,这是一个字符串运算符。您可以省略点,只使用
[]
将元素推送到数组的末尾

然后添加到
src
作为foreach中的键,将得到一个包含两个键的数组,其中第一个键为0,未使用,第二个键为
key

另一种选择是:

结果

Array
(
    [0] => Array
        (
            [src] => https://example.com/wp-content/uploads/2019/07/3.jpg
        )

    [1] => Array
        (
            [src] => https://example.com/wp-content/uploads/2019/07/2-1.jpg
        )

    [2] => Array
        (
            [src] => https://example.com/wp-content/uploads/2019/07/3.jpg
        )

    [3] => Array
        (
            [src] => https://example.com/wp-content/uploads/2019/07/1-1.jpg
        )

    [4] => Array
        (
            [src] => https://example.com/wp-content/uploads/2019/07/4-1.jpg
        )

)

$img_arr = array_map(function ($x) {
    return ['src' => $x["src"]];
}, $images);

print_r($img_arr);
Array
(
    [0] => Array
        (
            [src] => https://example.com/wp-content/uploads/2019/07/3.jpg
        )

    [1] => Array
        (
            [src] => https://example.com/wp-content/uploads/2019/07/2-1.jpg
        )

    [2] => Array
        (
            [src] => https://example.com/wp-content/uploads/2019/07/3.jpg
        )

    [3] => Array
        (
            [src] => https://example.com/wp-content/uploads/2019/07/1-1.jpg
        )

    [4] => Array
        (
            [src] => https://example.com/wp-content/uploads/2019/07/4-1.jpg
        )

)