如何只复制这个PHP数组中的值,而不复制结构



在php中,我有一个数组$OGarr,它打印到错误日志:

Array
(
[0] => Array
(
[prop1] => 20
[property2] => Array
(
[0] => Array
(
[propertyIWant] => stringA
)
[1] => Array
(
[propertyIWant] => stringB
)
)
)
)

我只想要一个只有值[stringA,stringB]的数组。我尝试使用for循环,基本上是C风格:

$myNewArr = [];
for($x = 0; $x < $somenumber; $x++){
$myNewArr[$x] = $OGarr[0]['property2'][$x]['propertyIWant'];
}

然而,当我尝试打印$myNewArr时,却一无所获。如何获得所需的数组?

您可以像这样使用

$ar = 
array(array('prop1'=>'20','property2'=>array(array('propertyIWant'=>'stringA'),array('propertyIWant'=>'stringB'))));
$result = array();
foreach($ar as $key=>$val){
foreach($val['property2'] as $ex=>$v){
$result[] = $v['propertyIWant'];
}
}
print_r($result);
/***
Array
(
[0] => stringA
[1] => stringB
)
**/

在线测试

最新更新