【发布时间】:2016-08-22 04:40:41
【问题描述】:
array_Walk_recursive 有没有办法返回数组的名称而不是索引?
function flatten(array $array) {
$return = array();
array_walk_recursive($array, function($a) use (&$return) { $return[] = $a; });
return $return;
}
我的结果是这样的
Array
(
[0] => 888
[1] => TY7452
[2] => 63214
[3] => 0
[4] => Upper
)
我希望可以将索引更改为数组名称,例如第一个应该是名称,然后第二个应该是数字。伙计们还有一个问题是在我能够投影出名称之后,我是否可以使用 implode 来设置数组名称的路径,它将替换我当前获得的索引号?例如,car.model.number
我的数组
$trading = [
'id' => 888,
'case_number' => 'KO2017-987',
'property' => [
'id' => 78563,
'propertyType' => [
'id' => 1,
'name' => 'Residential'
],
'address' => [
'block' => '85',
'street' => 'Jalan Serjana',
'subpremise' => '#07-05',
'building' => 'TM Block',
'country_code' => 'MY'
],
'askingPrice' => '650000.00',
'photos' => [
[
'url' => 'https://www.jokok.com/thumbnails/600x400F/1k985k63-652b-4dpc-988b-b98f75364db0.jpg',
'is_default' => 1
],
[
'url' => 'https://www.jokok.com/thumbnails/600x400F/8cf78fb6-9545-4f5f-8dfc-235a57a2b8c1.jpg',
'is_default' => 0
],
[
'url' => 'https://www.jokok.com/thumbnails/600x400F/e456218f-8b22-4250-9b29-72c1d3f5dc45.jpg',
'is_default' => 0
]
]
],
];
想要的结果
数组
(
[id] => 888
[case_number] => KO2017-987
[property.id] => 78563
[property.propertyType.id] => 1
[property.propertyType.name] => Residential
[property.address.block] => 85
[property.address.street] => Jalan Serjana
[property.address.subpremise] => #07-05
[property.address,building] => TM Block
[property.address.country_code] => MY
[property.askingPrice] => 6500000.00
[property.photos.0.url] => https://www.jokok.com/thumbnails/600x400F/1k985k63-652b-4dpc-988b-b98f75364db0.jpg
[property.photos.o.is_default] => 1
[property.photos.1.url] => https://www.jokok.com/thumbnails/600x400F/8cf78fb6-9545-4f5f-8dfc-235a57a2b8c1.jpg
[property.photos.1.is_default] => 0
[property.photos.2.url] => https://www.jokok.com/thumbnails/600x400F/e456218f-8b22-4250-9b29-72c1d3f5dc45.jpg
[property.photos.2.is_default] => 0
)
【问题讨论】:
-
你的问题真的很难理解。什么是“数组名”?你能举一个你想传递给
flatten的数组的例子和你想要的结果吗? -
^输入数组和所需的输出数组
-
好吧,像这样 [ $trading = [ 'id' => , 'case_number' => 'TX2015-0123', 'property' => [ 'id' => 69134, 'propertyType' => [ 'id' => 1, 'name' => '住宅' ] ] ];
-
好吧,我放弃并投票关闭。如果您再试一次,请在您的问题中包含一个实际运行的示例,包括数据。然后给出你想要得到的确切结果。
-
(您共享的数组不是有效的 PHP 语法,它没有告诉我们您想要什么。)
标签: php arrays array-walk