我在PHP中有一个空数组,我需要一些数据推入这个空数组。
对于我拥有$data->getName()
,$data->getValue()
和$data->getPosition()
的每个数据,我有:
foreach($datas as $key => $data){
array_push($myEmptyArray, array($data->getName() . ":" . $data->getValue() ));
}
我得到类似的东西:
[["lastname:andraud"], ["lastname:andro"], ["firstname:clement"]]
但是我需要使用ma position
attribut,因为有类似的东西(如果我的位置分别为0-0-1:
[["lastname:andraud, lastname:andro"], ["firstname:clement"]]
如果我尝试$myEmptyArray[$data->getPosition()]
我的错误"empty array"
感谢您的帮助!
答案 0 :(得分:0)
$myEmptyArray = array();
foreach($datas as $key => $data){
$myEmptyArray[$data->getPosition()] = array($data->getName() . ":" . $data->getValue() );
}
使用自定义键而不是array_push。之后,您可以使用这些键。对于你的情况,凯伊将是职位。
print_r($myEmptyArray[$position_id]); // get by position id
答案 1 :(得分:0)
$myEmptyArray = array();
$temp_val = '';
$new_val = '';
foreach($datas as $key => $data){
if(array_key_exists ( $data->getPosition() , $myEmptyArray )){
$temp_val = $myEmptyArray[$data->getPosition()];
$new_val = array($data->getName() . ":" . $data->getValue() );
$myEmptyArray[$data->getPosition()] = $temp_val.','.$new_val;
}else{
$myEmptyArray[$data->getPosition()] = array($data->getName() . ":" . $data->getValue() );
}
}
print_r($myEmptyArray[$position_id]);
此代码会将您的记录保存在数组中,并且不会替换您的值。
答案 2 :(得分:0)
我有解决方案:
foreach($values as $key => $value){
$name = $value->getName();
if(!isset($array[$value->getPosition()])){
$array[$value->getPosition()] = array();
}
array_push($array[$value->getPosition()], $name . ":" . $value->getValue());
}