从数组中获取特定值

时间:2016-05-04 23:11:32

标签: php mysql arrays

我在mysql上有这个查询,我用print_r()来获取这个数组:

$data = Array ( [2] => Array ( [0] => Array ( [sale_order_value_id] => 3 [sale_order_id] => 2 [name] => Comprobante Fiscal [value] => Consumidor Final [price] => 0.0000 ) [1] => Array ( [sale_order_value_id] => 4 [sale_order_id] => 2 [name] => RNC / Cédula [value] => 00111936266 [price] => 0.0000 ) ) )

我想从每个输入的$ data中提取[name],我尝试使用explode()来分隔值,但这没有帮助。

3 个答案:

答案 0 :(得分:0)

echo implode (',',array_column($data[2], 'name'));

array_column获取数组中的每个名称,然后根据您的要求将其内爆。

演示:http://ideone.com/PfX7HA

答案 1 :(得分:0)

这是一种正确的方法:

使用array_column():

示例:

<?php
// Array representing a possible record set returned from a database
$records = array(
    array(
        'id' => 2135,
        'first_name' => 'John',
        'last_name' => 'Doe',
    ),
    array(
        'id' => 3245,
        'first_name' => 'Sally',
        'last_name' => 'Smith',
    ),
    array(
        'id' => 5342,
        'first_name' => 'Jane',
        'last_name' => 'Jones',
    ),
    array(
        'id' => 5623,
        'first_name' => 'Peter',
        'last_name' => 'Doe',
    )
);

$first_names = array_column($records, 'first_name');
print_r($first_names);
?>

输出:

Array
(
    [0] => John
    [1] => Sally
    [2] => Jane
    [3] => Peter
)

在你的情况下是的,它可以这样做,因为它很容易:

您的代码:

<?php
$data = array( 2 => array( 0 => array('name' => "John")));
//You can simply print the name column value like this
echo $data[2][0]["name"];
?>

输出您的代码:

John 

您的代码的实时工作链接: https://eval.in/565707

答案 2 :(得分:0)

您可以使用以下内容获得准确的输出...

$names = array_column($data, 'name');

{{1}}