2017-03-28 2 views
1

Ich habe folgende IF in meinem Code zu überprüfen, ob Array leer ist,Return of a wenn leer() -Funktion in PHP

if (!empty($data['id']) && (empty($data['student_no']) || empty($data['batch']))) { 
    print_r("inside if "); 
} 

$data['id'], $data['student_no'] sind $data['batch'] Arrays.

Array-Werte sind unten wie,

1. $data['id'] ->Array ([0] => 1 [1] => [2] =>)

2. $data['student_no'] ->Array ([0] => [1] => [2] =>)

3. $data['batch'] ->Array ([0] => )

Aber dies nicht bekam innerhalb des if und drucke die "inside if" Zeichenkette.

Bitte sagen Sie mir, was los ist?

+2

Aber die 'student_no' und' batch' sind nicht leer. – zerkms

+0

Sie sind keine leeren Arrays. – boroboris

+0

Wenn Sie versuchen, leer ($ data ['batch'] [0]) sollte True zurückgegeben werden – boroboris

Antwort

2

Sie haben vergessen! Wenn

!empty($data['student_no'] 
+1

Dies ist der seltene Fall, wenn der Beantworter die Aufgabe besser kennt als das OP *. (* eigentlich nicht) @Nishant Nair woher weißt du, ob sie noch etwas vergessen haben? Wie eine Bedingung zu überprüfen, ob es heute ein Dienstag ist? – zerkms

+0

OP sagt: _check wenn Array leer sind_ – Thamilan

0

Probieren Sie einen anderen Satz von Klammern in der Verpackung! empty ($ data [ 'id'])

if ((!empty($data['id'])) && (empty($data['student_no']) || empty($data['batch']))) { 
    print_r("inside if "); 
} 
+1

Mehr Klammern für den Gott der Klammern! – zerkms

0

$ data [ 'STUDENTEN_NR'] und $ data [ 'Batch'] sind nicht leer, aber Ihr Zustand will einen von ihnen leer, so dass es nicht funktioniert