массив php, чтобы проверить, установлено ли значение в ключе или нет, и соответственно обновить - PullRequest
1 голос
/ 28 марта 2011

Я инициализирую массив php с именем $ present, цель этого массива - сохранить значение 1, если имя присутствует, или ноль, если имя отсутствует.у меня есть массив имен размером 10. ниже упомянутый код, но он не работает.

$present = Array();
for($i=0;$i<=10;$i++){
    if(!isset($present[$name[$i]])) {
       $present[$name] = 1;
     }
     else echo $present[$name[$i]];
}

Я также пробовал это:

$present = Array();
    for($i=0;$i<=10;$i++){
        if(empty($present[$name[$i]])) {
           $present[$name] = 1;
         }
         else echo $present[$name[$i]];
    }

пожалуйста, помогите спасибо!

Ответы [ 3 ]

0 голосов
/ 28 марта 2011

Я думаю, это может быть то, что вы ищете. Вы пропускаете $ i, когда устанавливаете его в 1.

$present = array();
for($i=0;$i<=10;$i++){
    if(!isset($present[$name[$i]])) {
       $present[$name[$i]] = 1;
     }
     else echo $present[$name[$i]];
}
0 голосов
/ 28 марта 2011

Я не совсем уверен, что именно вы пытаетесь сделать здесь, но если вы просто хотите отслеживать, присутствует имя или нет, вы можете просто сделать $ present массивом имен, а затем использоватьin_array.

$present = array('John', 'Paul', 'George');

echo in_array('John', $present);          # returns 1
echo in_array('MacArthur', $present);     #returns 0
0 голосов
/ 28 марта 2011

Должно быть:

$present = Array();
for($i=0;$i<10;$i++){
  if(!isset($present[$name[$i]])) {
       $present[$name[$i]] = 1;
     }
     else echo $present[$name[$i]];
}
...