嗨大家请帮我创建一个如下所示的数组
array (
array ( "5555776741" , "Don0454545" , "Draper" ),
array ( "5551112239" , "betty777777" , "Smith" ),
array ( "9999999999", "test", "name")
)
从数组$ contacts打印如下,print_r($ contacts)为:
Array
(
[0] => Array
(
[phone_mobile] => +16046799329
[first_name] =>
[last_name] => test
)
[1] => Array
(
[phone_mobile] => 7326751700
[first_name] => Ralph
[last_name] => OBrien
)
[2] => Array
(
[phone_mobile] => 3204937568
[first_name] => Chris
[last_name] => Barth
)
)
我试图从下面的代码中实现:但是传递的值没有从$ contact分配给$ record,Print_r($ contact)打印出空数组。
foreach ($contacts as $contact)
{
$record =$contact;
}
答案 0 :(得分:3)
您可以这样做,因此您不必指定每个数组键。
$data = [];
foreach ($contacts as $contact) {
$data[] = array_values($contact);
}
答案 1 :(得分:2)
以下未经过测试,但应该适合您。
$data = [];
foreach ($contacts as $contact)
{
$data[] = [ $contact['phone_mobile'], $contact['first_name'], $contact['last_name'] ];
}
答案 2 :(得分:1)
你也可以在循环中使用array_values()
,如下所示:
<?php
$result = [];
$arr = [
[
'phone_mobile' => '+16046799329',
'first_name' => '',
'last_name' => 'test'
],
[
'phone_mobile' => '7326751700',
'first_name' => 'Ralph',
'last_name' => 'OBrien'
],
[
'phone_mobile' => '3204937568',
'first_name' => 'Chris',
'last_name' => 'Barth'
],
];
foreach($arr as $i=>$data){
$result[] = array_values($data);
}
var_dump($result);
答案 3 :(得分:1)
除了直接迭代之外,您还可以通过在联系人数组上映射array_values
来获得所需的结果。
$record = array_map('array_values', $contacts);
这与Sam的foreach
答案基本相同,只是更加浓缩。