Найдите ключ в массиве и отобразите значение - PullRequest
0 голосов
/ 02 мая 2011

У меня маленькая проблема с массивом. Я использую codeigniter. Что я хочу сделать, это что-то вроде этого:

$studentSchool = $students->schoolId;
echo $shools->id[$studentSchool]->schoolName;

Это в цикле foreach $ Students, а массив со школами выглядит так:

Array ( [0] => stdClass Object ( [id] => 1 [schoolName] => Akademia Ekonomiczna ) [1] => stdClass Object ( [id] => 2 [schoolName] => Politechnika ) )

Это мои первые шаги в php и codeigniter, поэтому, пожалуйста, помилуйте :)

Ответы [ 2 ]

2 голосов
/ 02 мая 2011

Если $schools - массив, вы должны обращаться к нему как к массиву.У него не будет свойства id;

. Вы должны построить свой массив $schools так, чтобы индекс элемента соответствовал идентификатору школы.Т.е. у вас должно быть:

Array ( 
    [1] => stdClass Object ( [id] => 1 [schoolName] => ... ) 
    [2] => stdClass Object ( [id] => 2 [schoolName] => ... ) 
)

Тогда вы можете сделать:

echo $schools[$studentSchool]->schoolName;

Или, если школы отсортированы по ID, а идентификаторы непрерывны, вы также можете сделать:

 echo $schools[$studentSchool - 1]->schoolName;

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

Узнайте больше о массивах.

1 голос
/ 02 мая 2011

Это то, что вы ищете?

foreach ($students as $student):

    // Prints the School name for this student
    echo $student->schoolName;

endforeach;

Или, может быть, это?

// Prints the School name for the first student
echo $students[0]->schoolName

РЕДАКТИРОВАТЬ: Это то, что вы хотите?

$studentSchool = $students->schoolId;
echo $shools[$studentSchool]->schoolName;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...