Доступ к значению многомерного массива - PullRequest
1 голос
/ 23 марта 2011

У меня есть массив ниже, и мне нужно получить доступ к массиву checkbox3 и выяснить, установлен ли он.

Как-то так, но это не работает:

<?php if(isset($fields['checkbox3']["One"])): ?>
    One is set
<?php endif; ?>

array(2) {
  ["checkbox2"]=>
  array(1) {
    [0]=>
    string(10) "Don't Show"
  }
  ["checkbox3"]=>
  array(5) {
    [0]=>
    string(3) "One"
    [1]=>
    string(3) "Two"
    [2]=>
    string(5) "Three"
    [3]=>
    string(4) "Four"
    [4]=>
    string(5) "Five"
  }
}

Ответы [ 4 ]

3 голосов
/ 23 марта 2011
in_array("One", $fields["checkbox3"]);

Используйте in_array ().

bool in_array ( mixed $needle , array $haystack [, bool $strict ] )
2 голосов
/ 23 марта 2011

Для этого вы хотите использовать функцию in_array():

if (in_array("One", $fields["checkbox3"])) {

Она ищет, существует ли строка как запись в массиве.Так что вам не нужно знать индекс или обходить массив самостоятельно.

2 голосов
/ 23 марта 2011

$fields['checkbox3']["One"] не существует, скорее "One" - это значение $fields['checkbox3'][0]

1 голос
/ 23 марта 2011
<?php if(isset($fields['checkbox3'][0])): ?>
    One is set
<?php endif; ?>

или используйте

in_array ()

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...