Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/289.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

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
在foreach PHP-Laravel中向数组元素添加一个新字段_Php_Arrays_Laravel_Foreach - Fatal编程技术网

在foreach PHP-Laravel中向数组元素添加一个新字段

在foreach PHP-Laravel中向数组元素添加一个新字段,php,arrays,laravel,foreach,Php,Arrays,Laravel,Foreach,我有一个变量: $families = array( array( 'expand' => '', 'family_id' => 'AAER', 'active' => true, 'description' => 'Wall Art', 'group_id' => 5 ), array( 'expand'

我有一个变量:

$families = array(
    array(
        'expand'      => '',
        'family_id'   => 'AAER',
        'active'      => true,
        'description' => 'Wall Art',
        'group_id'    => 5
    ),
    array(
        'expand'      => '',
        'family_id'   => 'EERR',
        'active'      => true,
        'description' => 'Personalised Mugs',
        'group_id'    => 4
    ),
);
我想在我的$families项目中添加一个名为“href”的字段,如下所示:

$families = array(
    array(
        'href'        => 'http://mipage/wall-art/AAER',
        'expand'      => '',
        'family_id'   => 'AAER',
        'active'      => true,
        'description' => 'Wall Art',
        'group_id'    => 5
    ),
    array(
        'href'        => 'http://mipage/personalised-mug/EEER',
        'expand'      => '',
        'family_id'   => 'EERR',
        'active'      => true,
        'description' => 'Personalised Mugs',
        'group_id'    => 4
    ),
);
为此,我在foreach循环中迭代$families:

foreach($cat['families'] as $cat_fam) {
    $cat['families'][]['href']  = 'http//mysite/'.str_slug($cat_fam).'/'.$cat_fam['family_id'];
}
但这对我不起作用


我如何才能做到这一点?

您必须使用特定的
键重新拼空
[]
。对于此更新,
foreach
块获取元素的
,并在
foreach
循环中使用该键

$cat['families'][$key]
它指向families数组的单个元素

像这样,

foreach($cat['families'] as $key=>$cat_fam) {
    $cat['families'][$key]['href']  = 'http//mysite/'.str_slug($cat_fam).'/'.$cat_fam['family_id'];
}

演示:

您必须使用特定的
键重新拼空
[]
。对于此更新,
foreach
块获取元素的
,并在
foreach
循环中使用该键

$cat['families'][$key]
它指向families数组的单个元素

像这样,

foreach($cat['families'] as $key=>$cat_fam) {
    $cat['families'][$key]['href']  = 'http//mysite/'.str_slug($cat_fam).'/'.$cat_fam['family_id'];
}

演示:

只需在数组上迭代,然后添加一个键
ahref

 $newArray= array();
 foreach($families as $innerArray){
   $innerArray['ahref']='YOUR LINK HERE'; 
   $newArray[] = $innerArray;
 }

$families = $newArray ;//if you want to update families array

只需迭代数组,并添加一个键
ahref

 $newArray= array();
 foreach($families as $innerArray){
   $innerArray['ahref']='YOUR LINK HERE'; 
   $newArray[] = $innerArray;
 }

$families = $newArray ;//if you want to update families array
做一些类似于:

$href = array('href'=>'http://mipage/wall-art/AAER');
$combined_array = array_combine($families[0],$href);
不进行测试,但您可以根据自己的使用尝试或修改,例如:

$href = array('href'=>'http://mipage/wall-art/AAER');
$combined_array = array_combine($families[0],$href);
不测试,但您可以根据自己的使用尝试或修改

请尝试以下操作:

我想你也忘了在
stru slug
调用中添加索引
description

foreach($cat['families'] as &$cat_fam) {
    $cat_fam['href'] = 'http://mysite/'.str_slug($cat_fam['description']).'/'.$cat_fam['family_id'];
}
请试试这个:

我想你也忘了在
stru slug
调用中添加索引
description

foreach($cat['families'] as &$cat_fam) {
    $cat_fam['href'] = 'http://mysite/'.str_slug($cat_fam['description']).'/'.$cat_fam['family_id'];
}

您可以使用php函数

列克:

array_walk($cat['families'], function(&$family){
   $family['href'] = 'http//mysite/'.str_slug($family).'/'.$family['family_id'];
 });

注意$family变量是通过引用传递的。

您可以使用php函数

列克:

array_walk($cat['families'], function(&$family){
   $family['href'] = 'http//mysite/'.str_slug($family).'/'.$family['family_id'];
 });

注意,$family变量是通过引用传递的。

您需要指定它是如何工作的…您需要指定它是如何工作的…它应该是
$newArray[]=$innerray相反。@AlokPatel是的,输入错误,实际上我在我的机器上快速测试了输出并在这里更新了它。。它应该是
$newArray[]=$innerArray相反。@AlokPatel是的,输入错误,实际上我很快在我的机器上测试了输出,并在这里进行了更新。。