【发布时间】:2015-01-26 22:35:33
【问题描述】:
我有一个数组如下。
Array (
[A] => Array (
[y] => 2014-11-26
[x] => 1
[zzz] => 2
[ww] => 1 )
[B] => Array (
[y] => 2014-11-27
[zzz] => 2 )
[C] => Array (
[y] => 2014-11-29
[ww] => 2 )
)
子数组“A”有四个元素,而其他子数组只有两个元素。我想用值 0 的数组 A 的相同元素填充其他子数组,以便得到一个新数组,如下所示。
Array (
[A] => Array (
[y] => 2014-11-26
[x] => 1
[zzz] => 2
[ww] => 1 )
[B] => Array (
[y] => 2014-11-27
[x] => 0
[zzz] => 2
[ww] => 0 )
[C] => Array (
[y] => 2014-11-29
[x] => 0
[zzz] => 0
[ww] => 2 )
)
下面是我的算法。因为我是一名初级开发人员,所以我正在寻找更好的算法来了解更多信息。
$allArrayKey = array_keys($array);
$mostElement[0] = 0;
foreach($allArrayKey as $value) {
if($mostElement[0] < count($array[$value])) {
$mostElement[0] = count($array[$value]);
}
}
foreach($allArrayKey as $arr) {
if(count($array[$arr]) < $mostElement[0]) {
foreach ($allArrayKey as $xx) {
if(!array_key_exists($xx, $array[$arr])) {
$array[$arr][$xx] = '0';
}
}
}
}
如何在 PHP 中做到这一点?
【问题讨论】:
-
从数组A中获取所有key,遍历主数组,检查所有key是否存在,如果不存在则添加
-
Google 的习惯是,阅读文档,尝试一下,当您的代码不起作用时,将其发布在这里并寻求帮助。不要问“请为我编码”
-
@Mawg:我可以用一个草率的算法来解决它,因为我是一名初级开发人员。我问这个问题是为了寻找更好的算法来获得更好的知识。