Почему не могу достать значение ключа массива?

Ссылка скопирована
PHP
1 ответ

Мне приходит пост запрос на страницу в json формате. Я обрабатываю его в коде

$postData = file_get_contents("php://input"); $dataJson = json_decode($postData, true);  return var_dump($dataJson);

$postData = file_get_contents("php://input"); $dataJson = json_decode($postData, true); return var_dump($dataJson);

Результат, данного кода:

array(2) {   ["login"]=>   string(28) "asd@gmail.com"   ["videos"]=>   array(3) {     ["Sample video 1"]=>     string(8) "uploaded"     ["Sample video 2"]=>     string(8) "uploaded"     ["Sample video 3"]=>     string(8) "uploaded"   } }

array(2) { ["login"]=> string(28) "asd@gmail.com" ["videos"]=> array(3) { ["Sample video 1"]=> string(8) "uploaded" ["Sample video 2"]=> string(8) "uploaded" ["Sample video 3"]=> string(8) "uploaded" } }

Но в чем проблема, если я буду возращать значение ключа, которого хочу, через вардамп, то ответ будет нормальный, а если возращать без вардампа, то ответ будет пустой
В данном случае я хочу получить значение ключа login

Дополнительно:

Поскольку вы по какой-то неизвестной причине не показали, как именно вы достаете значение ключа, то никто в мире не сможет ответить на вопрос, "почему вы не можете это сделать"

  • Хотя у меня есть конечно пара версий, из области биологии. Но модераторам они не понравятся.
  • Ипатьев, я возвращал
    return $dataJson["login"];
    при помощи вардампа это значение возращается, но в таком виде нет
  • а что в вашем понимании делает команда return?
  • Ипатьев, у меня были подозрения, что именно так не нужно возвращать обычное значение ключа, а не результат функции
    Т.е обычный оператор echo решит мою проблему?
  • Обычный оператор echo решит вашу проблему.
    Ну или скорее использование этого значения в каком-то коде.
    Вы же не для того чтобы вывести это значение передавали, а чтобы записать куда-то?
  • Ипатьев, return я использовал, чтобы проверить, что лежит в этом ключе, т.к пост запрос летит от другого сервиса, в дальнейшем хотел реализовать отправку по почте этих данных
  • Ипатьев, спасибо за внимание и ответ
  • Нужно решить такую задачу?

    Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.

    Заказать помощь
    Лучший ответ
    1
    Стас DB Ответ

    Для того чтобы получить значение по ключу из массива в PHP, необходимо убедиться, что ключ существует в массиве и правильно обратиться к нему. Вот несколько возможных причин, почему вы можете испытывать проблемы с доступом к значению ключа массива:

    1. Неправильное обращение к ключу: Убедитесь, что вы обращаетесь к ключу массива с использованием квадратных скобок и указанием ключа внутри них. Например, $array['key'].

    2. Несуществующий ключ: Если ключ, к которому вы обращаетесь, не существует в массиве, то вы получите ошибку. Проверьте, что ключ действительно существует в массиве.

    3. Неправильное имя ключа: Убедитесь, что вы правильно указываете имя ключа. PHP чувствителен к регистру, поэтому $array['Key'] и $array['key'] будут считаться разными ключами.

    4. Многомерные массивы: Если вы работаете с многомерным массивом, то доступ к значению ключа может потребовать дополнительного обращения к элементу массива. Например, $array['key1']['key2'].

    Пример использования:

    $array = array('key' => 'value');
    echo $array['key'];

    $array = array('key' => 'value'); echo $array['key'];

    Если вы все еще испытываете проблемы с доступом к значению ключа массива, уточните ваш вопрос, предоставив больше информации о структуре вашего массива и коде, в котором возникает проблема.

    Другие ответы (0)

    Пока нет других ответов. Будьте первым, кто поможет автору.

    Ответить на вопрос

    комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *

    Вам также может быть интересно