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


Adding new key value pair to existing array didn't work in 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'])给出未定义的错误。

您的代码不清楚:您想要一个包含所有值的数组(根据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元素。