2016-02-11 3 views
1

У меня есть следующий массив $ студенты:проверка PHP, если вложенные значения в массиве существует

[ 
(int) 0 => [ 
    'Students' => [ 
     'number' => '1364249', 
     'first_name' => 'a', 
     'last_name' => 'asda', 
     'email' => '[email protected]' 
    ], 
    'Responses' => [ 
     'id' => '2' 
    ] 
    ] 
] 

Там мог мне несколько студентов здесь. У меня есть переменная, прежде чем я получу этот массив, который является номером студента. Затем я должен проверить этот массив, чтобы узнать, существует ли номер студента в любом месте. Как мне это сделать? Я попробовал следующее, но получаю сообщение об ошибке «Undefined index: number».

$student_id = $this->Auth->user('Student.number'); 

    $authorised = false; 
    foreach ($students as $student) { 
     if (isset($student['Students'])) { 
      if ($student['number'] == $student_id) { 
       $authorised = true; 
      } 
     } 
    } 

Я не очень хорошо в PHP, так что я прошу прощения, если это действительно очевидно, я подозреваю, что я просто делаю петлю через массив очень неправильно, был бы признателен за любые указания.

+0

Можете ли вы опубликовать фактический массив без предварительного тега? – rahul

ответ

1

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

foreach ($array as $student) { 
    if (isset($student['Students'])) { 
     if ($student['Students']['number'] == $student_id) { 
       $authorised = true; 
     } 
    } 
} 
+0

$ student ['Students'] ['number'] - это то, что у меня возникли проблемы с разработкой .. спасибо! – Conor

Смежные вопросы