如何在php中的Array中创建一个数组

时间:2017-09-20 15:18:16

标签: php

嗨大家请帮我创建一个如下所示的数组

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;
}

4 个答案:

答案 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答案基本相同,只是更加浓缩。