在PHP中从数组中移除键值

4
这是我的数据库查询结果,
Array ([0] => Array ( [shopname] => Shop name [fueltype] => Pertol [amount] => 1000 ) 
       [1] => Array ( [shopname] => dfsdfsd [fueltype] => Pertol [amount] => 54456 )
       [2] => Array ( [shopname] => dfsdfsd [fueltype] => Disel [amount] => 54456 )
)

我需要像这样的结果
[["Shop name", "Pertol", 1000],["dfsdfsd", "Pertol", 54456],["Shop name", "Disel", 54456]]

我该如何做到这一点,我不知道?

1
首先进行从键值到仅值的转换(array_values()),然后使用json_encode()函数... 这些现在是你的好朋友了... ;) - Raphioly-San
Ajin,检查答案并标记最合适的答案是你的责任。这将有助于未来的访问者更轻松地找到解决方案。谢谢。(如果其他答案有用,您也可以给它们投票) - Alive to die - Anant
3个回答

3
array_map()array_values() 可以一起使用,适用于你的情况:
<?php
$array = Array ( '0' => Array ( 'shopname' => 'Shop name','fueltype' => 'Pertol','amount' => 1000 ), 
        '1' => Array ( 'shopname' => 'dfsdfsd' ,'fueltype' => 'Pertol','amount' => 54456 ),
        '2' => Array ( 'shopname' => 'dfsdfsd','fueltype' => 'Disel','amount' => 54456 )
);


$values_data_only = array_map('array_values', $array);
$desire_result = json_encode($values_data_only);
echo $desire_result;

?>

输出:- https://eval.in/395344

同时使用简单的foreach()也是可能的:

<?php
$array = Array ( '0' => Array ( 'shopname' => 'Shop name','fueltype' => 'Pertol','amount' => 1000 ), 
        '1' => Array ( 'shopname' => 'dfsdfsd' ,'fueltype' => 'Pertol','amount' => 54456 ),
        '2' => Array ( 'shopname' => 'dfsdfsd','fueltype' => 'Disel','amount' => 54456 )
);

$new_array = array();

foreach ($array as $k=> $arr){
    $new_array[$k][] = $arr['shopname'];
    $new_array[$k][] = $arr['fueltype'];
    $new_array[$k][] = $arr['amount'];
}
echo "<pre/>";print_r($new_array);
$desired_result_2 = json_encode($new_array);
echo $desired_result_2;
?>

Output:-https://eval.in/395354


2
$mapped = array_map('array_values', $input_array); // apply filter so we dont get the keys
$json = json_encode($mapped);

0

尝试使用:

$input  = array( /* your input data */ );
$output = array();

foreach ($input as $data) {
  $output[] = array_values($data);
}

我认为你不需要在 foreach 外初始化 $output,这样可以节省一行代码! - viral
@Viral 那个主意不太好。 - hsz

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接