для этого массива,удалить пробелы в массиве PHP
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 выше одного и ниже, а затем может получить четкое представление о том, что я говорю). Но я хочу, чтобы это было так.
array (
[0] => 'HOST:'
[1] => 'killbill'
[2] => 'Loss%'
[3] => 'Snt'
[4] => 'Last'
[5] => 'id'
)
ключевые значения как 1,2,3,4 .... так как я могу это получить.
array_filter() без обратного вызова будет удалить пустые элементы и удерживать ассоциативность; затем передайте это значение array_values (), чтобы сбросить ключи от 0 –
'array_filter()' - хороший план, но обратите внимание, что вам все равно потребуется обратный вызов (в зависимости от вашего определения «пустой»), потому что без него он удалит любое значение false, в частности, оно удалит '' 0'', который вы, вероятно, захотите сохранить, поскольку похоже, что вы работаете с результатами ping. – DaveRandom
Это вопрос, с которым мне приходится сталкиваться с ответом @Felix Kling. ответил 21 апр '11 в 22: 38- [link] http://stackoverflow.com/questions/5750407/php-array-removing-empty-values#comment6582284_5750521 [/ link] –