向现有数组添加新的键值对在php中不起作用

时间:2016-02-22 13:57:54

标签: php

我有一个关联数组,我想在其中添加一个新的键值对。 这是我的代码

foreach($result['apiAvailableBuses'] as $value){
     if(strpos($value['fare'], ",")!== false){ 
       $fare=substr($value['fare'], 0, strpos($value['fare'], ","))." +";
     }
  else{ 
     $fare=$value['fare']."/-";
  }
   //add new key
   $result['apiAvailableBuses'][]['actualFare']=$fare;


}

但是 print_r($result['apiAvailableBuses']['actualFare'])给出了未定义的错误。

1 个答案:

答案 0 :(得分:1)

您的代码不明确:您想要一个包含所有值的数组(根据foreach建议)或仅一个值(根据$result['apiAvailableBuses']['actualFare']建议)?

如果你想要一个包含所有值的数组,请用这种方式写:

foreach( $result['apiAvailableBuses'] as $key => $value )
{
    if( strpos( $value['fare'], "," ) !== false )
    { 
        $fare = substr( $value['fare'], 0, strpos( $value['fare'], "," ) )." +";
    }
    else
    { 
        $fare = $value['fare'] . "/-";
    }
    // add new key
    $result['apiAvailableBuses'][$key]['actualFare'] = $fare;
}

通过这种方式,您可以将$fare添加到当前$result元素的相同键中。否则,您将添加一个新的$result元素。