Zasadniczo mam wielowymiarową tablicę i muszę sprawdzić, czy jest ona po prostu pusta, czy też nie.Jak sprawdzić, czy tablica wielowymiarowa jest pusta, czy nie?
obecnie mam if
oświadczenie próbuje zrobić to z:
if(!empty($csv_array))
{
//My code goes here if the array is not empty
}
Mimo, że if statement
jest aktywna, czy wielowymiarowa tablica jest pusta lub nie.
To właśnie tablica wygląda po opróżnieniu:
Array
(
[0] => Array
(
)
)
To właśnie tablica wygląda, gdy ma się kilka elementów w tym:
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
)
)
Moi elementów tablicy zawsze zaczynają się 1, a nie 0. Długa historia, dlaczego, i nie ma sensu wyjaśniać, ponieważ nie ma tematu na to pytanie.
W razie potrzeby jest to kod, który tworzy tablicę. Jest pobierany z przesłanego pliku 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);
}
Tak na zakończenie, muszę zmodyfikować moje if statement
, by sprawdzić, czy tablica jest pusta lub nie.
Z góry dziękuję!
Czy wypróbowałeś 'if (! Empty ($ csv_array [0]))'? – Bora
@Bora, która nigdy nie zostanie wykonana ... ponieważ OP powiedział, że jej indeks zawsze jest pusty ... –
Jeśli twój plik ma stały format, gdy jest pusty, możesz znaleźć rozmiar zajmowany przez pustą tablicę zawierającą plik i użycie czy wiesz, czy twoja tablica jest pusta? To jest po prostu metoda "hack-y", takie metody można nazwać "myśleniem bez pudełka";) Mimo że ta metoda działa, należy upewnić się, że rozmiar zawartości pliku jest stały zawsze, gdy tablica jest pusty. :) –