我正在使用array_push()
方法从我的数据库中插入ID。
示例:
print_r($arr_usr_ids);
Array ( [0] => 34 [1] => 35 [2] => 34 [3] => 37 [4] => 38 [5] => 30 ... )
$arr_usrs = array();
foreach($arr_usr_ids as $key => $value) {
if(isset($group_id[1]) && '1'=== $group_id[0]) {
$numbers = $arr_usr_ids[$key]; // 30
$arr_usrs[] = $numbers;
} else
if(isset($group_id[1]) && '2'=== $group_id[0]) {
$numbers = $arr_usr_ids[$key]; // 34,33
$arr_usrs[] = $numbers;
}
...
}
依旧......
但是array_push正在排序数字
print_r($arr_usrs);
Array ( [0] => 30 [1] => 33 [2] => 34 [3] => 37 [4] => 38 )
正确的结果是30,34,33,38,37
编辑可行:
$arr_usrs_one = array();
$arr_usrs_two = array();
$arr_usrs_three = array();
foreach($arr_usr_ids as $key => $value) {
if(isset($group_id[1]) && '1'=== $group_id[0]) {
$numbers = $arr_usr_ids[$key]; // 30
$arr_usrs_one[] = $numbers;
} else
if(isset($group_id[1]) && '2'=== $group_id[0]) {
$numbers = $arr_usr_ids[$key]; // 34,33
$arr_usrs_two[] = $numbers;
}
...
}
$result_usrs = array_merge($arr_usrs_one,$arr_usrs_two,$arr_usrs_three);
答案 0 :(得分:1)
只需从array_push
更改为[]
:
$arr_usrs = array();
if(isset($group_id[1]) && '1'=== $group_id[0]) {
$numbers = $arr_usr_ids; // 30
$arr_usrs[] = $numbers;
}
if(isset($group_id[1]) && '2'=== $group_id[0]) {
$numbers = $arr_usr_ids; // 34,33
$arr_usrs[] = $numbers;
}
print_r($arr_usrs);
答案 1 :(得分:0)
$array_push
指的是一个变量。
你的意思是array_push
:
array_push($array, $value);
女巫等于:
$array[] = $value;
<强>文档:强>
array_push()将 array 视为堆栈,并将传递的变量推送到 array 的末尾。数组的长度增加了推送的变量数。具有与以下相同的效果:
<?php $array[] = $var; ?>
重复每个var。
答案 2 :(得分:0)
array_push
是一个功能。 Manual
$arr_usrs = array();
if(isset($group_id[1]) && '1'=== $group_id[0]) {
$numbers = $arr_usr_ids; // 30
array_push($arr_usrs,$numbers);
}
if(isset($group_id[1]) && '2'=== $group_id[0]) {
$numbers = $arr_usr_ids; // 34,33
array_push($arr_usrs,$numbers);
}