我一直在使用in_array和for循环,但是还没能完成我一直想做的事情......
我有一个如下所示的数组(名为$ contacts):
Array
(
[3] => 1
[5] => 1
[7] => 1
)
我正在尝试添加额外的密钥=>基于查询结果的值对:
//query results
+------+------+
| uid | nid |
+------+------+
| 1 | 24 |
| 3 | 23 |
| 4 | 22 |
| 5 | 28 |
| 6 | 29 |
| 7 | 30 |
| 8 | 27 |
+------+------+
我想要做的是如果 uid在$ contacts数组键中不,那么我想添加值为“0” ,最终结果如下:
Array
(
[3] => 1
[5] => 1
[7] => 1
[1] => 0
[4] => 0
[6] => 0
[8] => 0
)
也许我已经这么久了,因为这似乎很难做到这一点,所以希望在退回并从这里的某人那里得到一些帮助后,我会再次感到正常......
答案 0 :(得分:2)
此?
foreach($results as $obj) {
$contacts[] = (int) array_key_exists($obj['uid'], $contacts);
}
答案 1 :(得分:1)
这是一个php 5.3方法
$ar1 = array (
3 => 1,
5 => 1,
7 => 1
);
$q = array(
1 => 24,
3 => 23,
4 => 22,
5 => 28,
6 => 29,
7 => 30,
8 => 27
);
print_r( $ar1 + array_map( function($v){ return $v=0; }, $q ) );
答案 2 :(得分:0)
您尝试过类似的事情吗?
if (!isset($contacts[1]))
$contacts[1] = 0;
答案 3 :(得分:0)
我愿意:
foreach ($result as $uid => $res) {
if (!array_key_exists($uid, $contacts)) {
$contacts[$uid] = 0;
}
}