Как проверить, пусто ли значение массива?

Вот мой вывод массива

Array ( [1] => 1 [2] => 2 [3] => ) 

Откуда я знаю, что [3] => пусто?

 foreach ($array as $key => $value) { if (empty($value)) echo "$key empty <br/>"; else echo "$key not empty <br/>"; } 

Мой выложенный показ не пуст. Какой правильный способ проверки пуст?

Он работает как ожидалось, третий пуст

http://codepad.org/yBIVBHj0

Может быть, попытайтесь урезать его ценность, на всякий случай, что третье значение будет просто пространством.

 foreach ($array as $key => $value) { $value = trim($value); if (empty($value)) echo "$key empty <br/>"; else echo "$key not empty <br/>"; } 

Другое решение:

 $array = array('one', 'two', ''); if(count(array_filter($array)) == count($array)) { echo 'OK'; } else { echo 'ERROR'; } 

http://codepad.org/zF9KkqKl

Вы можете использовать array_diff() и array_diff_key() :

 $array = array('one', 'two', ''); $emptyKeys = array_diff_key(array_diff($array,array()),$array); 

array_diff() извлекает все элементы, которые не совпадают (поэтому, оставляя пробелы), array_diff_key возвращает отличия от исходного массива.

Вы можете проверить пустой массив, используя следующее:

 if ( !empty(array_filter($array))) { echo 'OK'; } else { echo 'EMPTY ARRAY'; } 

Вот простое решение для проверки массива для пустых значений ключа и возврата ключа.

 $a = array('string', '', 5); echo array_search(null, $a); // Echos 1 

Чтобы проверить, содержит ли массив пустое значение ключа. Попробуй это.

  $b = array('string','string','string','string','','string'); if (in_array(null, $b)) { echo 'We found a empty key value in your array!'; } 

im, использующий в моем проекте, как это для проверки этого массива

im размещение данных формы, подобных этому array('username' => 'john','surname' => 'sins');

 public function checkArrayKeyExist($arr) { foreach ($arr as $key => $value) { if (!strlen($arr[$key])) { return false; } } return true; } 

Попробуй это:

 <?php $data=array( 'title' => 'Test Name Four', 'first_name' => '', 'last_name' => 'M', 'field_company' => 'ABC', 'email' => '', 'client_phone_number' => '', 'address_line_1' => '', 'address_line_2' => 'Address 3', 'address_line_3' => '', 'address_line_4' => '', 'post_code' => '', ); echo '<pre>'; print_r($data); foreach ($data as $key => $case ) { echo "$key => ".is_multiArrayEmpty($case)."<br>"; } function is_multiArrayEmpty($multiarray) { if(is_array($multiarray) and !empty($multiarray)){ $tmp = array_shift($multiarray); if(!is_multiArrayEmpty($multiarray) or !is_multiArrayEmpty($tmp)){ return false; } return true; } if(empty($multiarray)){ return true; } return false; } ?>