Использование in_array для массива

1

Итак, у меня есть следующий php:

<?php 
$user_id = get_current_user_id();   
$user_number= get_user_meta($user_id, 'number', false); 
$numbers= print_r($user_number);    
?>

Я получаю следующее:

Array
(
[0] =&gt; Array
    (
        [1] =&gt; 769099
        [2] =&gt; 768785
        [3] =&gt; 769135
        [4] =&gt; 769118
        [5] =&gt; 769136
        [6] =&gt; 769122
        [7] =&gt; 769130
    )

)

Теперь я пытаюсь использовать in_array для добавления условия следующим образом:

<?php if (in_array ($number_id, $numbers)){?>

где $ number_id является одним из числа в массиве.

У меня есть два вопроса:

Должен ли я использовать print_r для получения значений вместо простого указания Array для использования in_array?

Как я на самом деле пользователь in_array? в этом случае?

(Например, используя get_user_meta, я просто получаю Array. Я не хочу использовать print_r. Как мне это сделать? Спасибо!)

  • 0
    in_array (значение, $ массив)
  • 1
    `$ numbers` является многомерным. использовать in_array ($number_id, $numbers[0])
Показать ещё 2 комментария
Теги:
arrays

3 ответа

3

print_r() обычно печатает ваш массив. Ваш код должен быть:

<?php 
$user_id = get_current_user_id();   
$user_number= get_user_meta($user_id, 'number', false);   
?>

Если вы хотите проверить number_id в вашем current user number массиве current user number ваш код должен быть:

if(in_array('769118',$user_number[0])){ // 769118 is $number_id
    echo "Match Found";
}else{
    echo "No Match Found";  
}

Вы можете сослаться на эту ссылку: in_array

1

print_r() - это только функция для отображения значений внутри массива.

В вашем случае функция get_user_meta() возвращает числа, связанные с user_id, и ничего больше.

И функция in_array() должна проверять наличие определенного значения внутри массива.

  • 0
    Итак, я избавился от print_r . И <?php if (in_array ($number_id, $user_number)){?> Это правильно? (не похоже на работу) ...
0

попробуй это

<?php if (in_array ($number_id, $user_number[0])){?>
  • 0
    какая разница между 0 и 1 ?
  • 0
    Существует различие .. 0 != 1 .. этот ответ не решает проблему .. @Sugumar вы добавили 2 ответа, но оба они неправильные .. вам следует уделить больше внимания, прежде чем добавлять ответы
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню