Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/257.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 操纵多维数组_Php_Arrays_Multidimensional Array - Fatal编程技术网

Php 操纵多维数组

Php 操纵多维数组,php,arrays,multidimensional-array,Php,Arrays,Multidimensional Array,我有一个mysql查询,它在PHP中以如下数组返回我 array( [0] -> ([cred_id],[date],[value]); [1] -> ([cred_id],[date],[value]); [2] -> ([cred_id],[date],[value]); [3] -> ([cred_id],[date],[value]); [4] -> ([cred_id],[date],[value]); [5

我有一个mysql查询,它在PHP中以如下数组返回我

array(
    [0] -> ([cred_id],[date],[value]);
    [1] -> ([cred_id],[date],[value]);
    [2] -> ([cred_id],[date],[value]);
    [3] -> ([cred_id],[date],[value]);
    [4] -> ([cred_id],[date],[value]);
    [5] -> ([cred_id],[date],[value]);
    [6] -> ([cred_id],[date],[value]);
    [7] -> ([cred_id],[date],[value]);
    [8] -> ([cred_id],[date],[value]);
);
等等。不同数组项的Cred_id可以相同。所以我想把这个数组变成这样:

array(
[cred_id]->(([date],[value]),([date],[value]),([date],[value]))
[cred_id]->(([date],[value]),([date],[value]))
);
foreach ($creds as $cred){
    $new_creds[$cred['cred_id']][]= array($cred[date],$cred[value]);
}   
这样,如果我知道一个[cred_id]值,我就可以在从数据库中提取的所有日期-值对之间进行foreach循环

是否有一个智能php函数可供我使用,或者我是否必须使用这样的foreach:

array(
[cred_id]->(([date],[value]),([date],[value]),([date],[value]))
[cred_id]->(([date],[value]),([date],[value]))
);
foreach ($creds as $cred){
    $new_creds[$cred['cred_id']][]= array($cred[date],$cred[value]);
}   
这实际上是我关于如何获得这个结果的最聪明的想法

除了使用循环外,您还可以使用以下功能


虽然您可能会使用一些智能映射功能,但这看起来不错。请注意,您确实需要
$new\u creds[$cred[cred\u id]][]=…
。是的,您是对的!!谢谢你的提示!也许吧。请引用您的数组键名:
$cred['cred\u id']
。否则它们将被假定为常量。@MarkusAO是的,这是一个打字错误。将更新问题OP的代码工作正常,您只是让它复杂化了。@AkshayHegde foreach在性能方面比array_map或array_walk更好,在这种情况下,速度很重要,因为query@LelioFaieta:这是真的,但由于您要求一些智能php函数,我展示了这些