Получение значений из пар ключ-значение PHP - PullRequest
0 голосов
/ 23 февраля 2019

У меня есть форма регистрации, которая сохраняет данные пользователя в текстовый файл с помощью сериализуемого метода.

a:1:{i:0;s:44:"{"name":"Mario","pw":"3214","email":"mo@mo"}";}

Я могу десериализовать данные, но у меня возникли проблемы с извлечением значения «Mario» из ключа - «name».Код можно увидеть ниже:

$array = file_get_contents('user.txt');

$artikel = unserialize($array);

foreach ($artikel as $item ){
     echo $item['name'];
}

Ошибка, которую я получаю, является недопустимым смещением строки 'name'.Любая помощь будет принята с благодарностью.

Ответы [ 2 ]

0 голосов
/ 23 февраля 2019

Вам нужно json_decode после foreach с true в качестве второго параметра, тогда вы получите массив, как хотите ..

<?php

$arr = 'a:1:{i:0;s:44:"{"name":"Mario","pw":"3214","email":"mo@mo"}";}';

$artikel = unserialize($arr);


foreach ($artikel as $item ){
     $response = json_decode($item, true);
     echo $response['name'];
}

?>

0 голосов
/ 23 февраля 2019

У вас есть сериализованный массив строк JSON.

Итак, попробуйте такпростой файл еще хуже защищен, поэтому я надеюсь, что система никогда не будет использована.PHP предоставляет password_hash() и password_verify(), пожалуйста, используйте их.

...