Как проверить, существует ли конкретный индекс стоимости - PullRequest
0 голосов
/ 02 января 2019

У меня есть такой массив php.

Array
(
    [first_year] => Array
        (
            [1] => Array
                (
                    [0] => Array
                        (
                            [distiction] =>  , 2, 3, 4, 5, 6,  , 8, 9
                            [name] => ‌Mark
                            [status] => Pass with credit
                        )

                )

            [2] => Array
                (
                    [0] => Array
                        (
                            [distiction] =>  , 2, 3, 4, 5, 6, 7,  , 9
                            [name] => ‌John
                            [status] => 
                        )

                )

        )
)

Я получил эти данные print_r($dataArray[$academic_year][$major]). Как я могу проверить, является ли $ dataArray [$ acade_year] [$ major] [$ year] и проверить, имеет ли [first_year] значения или нет? Я уже опробовал empty(), !array_filter() и $dataArray[$academic_year][$major][$year] == []. Но ничего из этого не работает для меня. Спасибо.

Ответы [ 3 ]

0 голосов
/ 02 января 2019

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

Если $dataArray[$academic_year][$major][$year] вернуть массив, то

if ( isset( $dataArray[$academic_year][$major][$year] ) &&  count($dataArray[$academic_year][$major][$year])) {
    //your code here
}
0 голосов
/ 02 января 2019

А как насчет оператора объединения?

Просто верните поведение по умолчанию, когда оно не существует:

$data = $dataArray[$academic_year][$major][$year] 
        ?? ['distiction' => '', 'name' => '', 'status' => ''];

или

$data = $dataArray[$academic_year][$major][$year] ?? null;
if (is_array($data) && !empty($data)) {
  // Your code...
}
0 голосов
/ 02 января 2019

Вы можете использовать:

if (array_key_exists($year, $dataArray[$academic_year][$major])) {
    if ($dataArray[$academic_year][$major][$year]){
        //your code here
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...