对于此数组,
Array (
[0] => 'HOST:'
[1] => 'killbill'
[2] =>
[3] =>
[4] =>
[5] =>
[6] =>
[7] =>
[8] =>
[9] =>
[10] =>
[11] => 'Loss%'
[12] =>
[13] =>
[14] => 'Snt'
[15] =>
[16] =>
[17] => 'Last'
[18] =>
[19] =>
[20] =>'id'
)它有空的values.by,使用它给出的代码
foreach($array as $key => $subarray) {
$array[$key] = preg_grep('/^$/', $subarray, PREG_GREP_INVERT);
}
array (
[0] => HOST:
[1] => killbill
[11] => Loss%
[14] => Snt
[17] => Last
[20] =>id
)这意味着它删除了所有的空格。但它具有原始的键值。(compair高于一,低于一。然后就可以清楚地知道我在说什么了).but我想要这样。
array (
[0] => 'HOST:'
[1] => 'killbill'
[2] => 'Loss%'
[3] => 'Snt'
[4] => 'Last'
[5] => 'id'
)键值为1、2、3、4....我怎么才能做到这一点。
发布于 2013-04-02 19:55:32
只需使用它而不是Foreach
array_values(array_filter($array));这将删除空间并重新排序您的数组。
看:http://codepad.org/howl3Opj
发布于 2013-04-02 19:58:00
只需使用array_filter()即可。
$array = array_filter($array);这将删除所有空值--即空白、null、false、零。
如果您只想删除空字符串的值并保留其他空值(例如零),您可以为array_filter()指定第二个参数,该参数允许您定义一个函数来指定应该过滤哪些元素。
$array = array_filter($array, function($val) {return $val!=='';});希望这能有所帮助。
发布于 2013-04-02 19:54:24
试一下这个功能,它会帮你解决这个问题
$arr = array_map('array_values', $arr);https://stackoverflow.com/questions/15763393
复制相似问题