[英]remove integer index an array
我正在一个网站上工作,我们需要删除类型为整数的数组的索引。 你有什么想法或建议。 我的数组看起来像这样:
Array
(
[0] => first
[first] => second
[1] => second
[second] => second
[2] => third
[third] => third
[3] => forth
[forth] => v
[4] => fifth
[fifth] => fifth
)
我们如何从数组中删除整数索引。还要注意的是,我们没有静态数组,我们不知道有多少索引。
需要这样:
Array
(
[first] => second
[second] => second
[third] => third
[forth] => v
[fifth] => fifth
)
数据库解决方案:
要仅从 mysql 数据库中获取关联数组,请使用: mysqli_fetch_assoc()
而不是mysqli_fetch_array()
。
mysqli_fetch_array()
获取整个数组 - 整数索引以及列名作为键。
mysqli_fetch_assoc()
仅获取列名作为键。 - 从而摆脱整数键。
一般解决方案:
为了做你一般要求的事情,我会使用:
foreach($array as $key => $value){
if(is_numeric($key)) unset($array[$key]);
}
如果你愿意,你也可以使用is_int()
..
另一种方法:-
$array1 = array("6566"=>"zd xf", "2"=>2, "c"=>3, "d"=>4, "e"=>5);
$keys=array_filter(array_keys($array1), "is_numeric");
$out =array_diff_key($array1,array_flip($keys));
print_r($out);
输出 :
Array
(
[c] => 3
[d] => 4
[e] => 5
)
删除数组的整数索引值。
$array1=array();
$array = array(0 => first,first => second,1 => second,second => second,2 => third,third => third,3 => forth,forth => v,4 => fifth,fifth => fifth);
foreach ($array as $key=>$value){
if(gettype($key)=='integer'){
unset($key);
unset($value);
}else{
$array1[$key]=$value;
}
}
print_r($array1);
像这样输出。
Array
( [第一] => 第二 [第二] => 第二 [第三] => 第三 [第四] => v [第五] => 第五)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.