猿问

在 php 中将一个数组转换为另一个数组

我有这样的数组


$array =  (

            [customer] => Array

                (

                    [emailAddress] => test@gmail.com

                )


            [recommendationProductDetails] => Array

                (

                    [0] => Array

                        (

                            [productId] => 7053

                            [title] => silikonska termalna pasta tuba 7gr

                            [imageWebAddress] => http://Image/GetImage/6118

                            [webAddress] => http://Shop/Product?name=AG%20Termopasty%20silikonska%20termalna%20pasta%20tuba%207gr&accountingCode=8703

                            [description] => silikonska termalna pasta tuba 7gr

                        )


                    [1] => Array

                        (

                            [productId] => 4610

                            [title] => silikonska termalna pasta tuba 7gr

                            [imageWebAddress] => http://Image/GetImage/6118

                            [webAddress] => http://Shop/Product?name=AG%20Termopasty%20silikonska%20termalna%20pasta%20tuba%207gr&accountingCode=8703

                            [description] => silikonska termalna pasta tuba 7gr

                        )


                    [2] => Array

                        (

                            [productId] => 4591

                            [title] => silikonska termalna pasta tuba 7gr

                            [imageWebAddress] => http://Image/GetImage/6118

                            [webAddress] => http://Shop/Product?name=AG%20Termopasty%20silikonska%20termalna%20pasta%20tuba%207gr&accountingCode=8703

                            [description] => silikonska termalna pasta tuba 7gr

                        )



我需要得到看起来像这样的新数组


    $newArray = [7053, 4610, 4591, 1756];

我从这个问题中尝试了很多解决方案 是否有从 PHP 数组中提取“列”的函数? 但我没有运气,我也试过像这样 foreach


千万里不及你
浏览 161回答 3
3回答

皈依舞

您可以使用foreach迭代中的每个项目$array['recommendationProductDetails']。$newArray将保留提取的值:$newArray = array();foreach ($array['recommendationProductDetails'] as $arrayItem) {    array_push($newArray, $arrayItem['productId']);}print_r($newArray);将输出Array(    [0] => 7053    [1] => 4610    [2] => 4591    [3] => 1756)

摇曳的蔷薇

PHP 中是否有从数组中提取“列”的函数?是的,有array_column(array $input, mixed $column_key [, mixed $index_key = NULL]) 所以在你的代码中:array_column($array['recommendationProductDetails'], 'productId');

回首忆惘然

array_column(array $input, mixed $column_key [, mixed $index_key = NULL]) 文档array_column($array['recommendationProductDetails'], 'productId');
随时随地看视频慕课网APP
我要回答