В принципе, у меня многомерный массив, и мне нужно проверить, просто ли он пуст или нет.Как проверить, является ли многомерный массив пустым или нет?
Я в настоящее время имею if
заявления пытается сделать это с помощью:
if(!empty($csv_array))
{
//My code goes here if the array is not empty
}
Хотя, что if statement
активируется ли пуст или не многомерный массив.
Это то, что массив выглядит, когда пусто:
Array
(
[0] => Array
(
)
)
Это то, что массив выглядит, когда у него есть несколько элементов в нем:
Array
(
[0] => Array
(
)
[1] => Array
(
[1] => question1
[2] => answer1
[3] => answer2
[4] => answer3
[5] => answer4
)
[2] => Array
(
[1] => question2
[2] => answer1
[3] => answer2
[4] => answer3
[5] => answer4
)
[3] => Array
(
[1] => question3
[2] => answer1
[3] => answer2
[4] => answer3
[5] => answer4
)
)
Мои элементы массива всегда начинаются в 1, а не 0. Расскажите, почему, и нет смысла объяснять, потому что это не по теме на этот вопрос.
При необходимости это код, который создает массив. Он извлекается из загруженного CSV-файла.
$csv_array = array(array());
if (!empty($_FILES['upload_csv']['tmp_name']))
{
$file = fopen($_FILES['upload_csv']['tmp_name'], 'r');
}
if($file)
{
while (($line = fgetcsv($file)) !== FALSE)
{
$csv_array[] = array_combine(range(1, count($line)), array_values($line));
}
fclose($file);
}
Итак, в заключение, мне нужно изменить мой if statement
, чтобы проверить, является ли пустой массив или нет.
Заранее благодарен!
Пробовал ли вы 'if (! Empty ($ csv_array [0]))'? – Bora
@Bora, который никогда не получит выполнение ... потому что OP сказал, что индекс o всегда пуст ... –
Если ваш файл имеет фиксированный формат, когда он пуст, вы можете найти размер, занимаемый пустым массивом, содержащим файл и использовать чтобы узнать, пуст ли ваш массив? Это просто метод взлома, такие методы - это то, что вы называете мышлением из окна;) Хотя для этого метода работы вам необходимо убедиться, что размер содержимого файла является постоянным, когда массив пустой. :) –