Это действительно зависит от того, как программно построить ваш сайт, если ваш сайт огромен и отражает схему db, лучше всего написать дружественный генератор url и сохранить его в db.
Спасибо этой системе, вы сможете управлять поиском вашей sitemap easilly
Select CONCAT("http://mysite.com/article/",article.friendly_url) from article
Но, как я уже сказал, это очень зависит от вашей архитектуры / программирования ....
Согласно документации , вам нужно указать, если вы хотите ассоциативный массив вместо объекта из json_decode
, это будет код:
json_decode($jsondata, true);
попробуйте это
$json_string = 'http://www.domain.com/jsondata.json';
$jsondata = file_get_contents($json_string);
$obj = json_decode($jsondata,true);
echo "<pre>";
print_r($obj);
Это также изменит его в массив:
<?php
print_r((array) json_decode($object));
?>
json_decode
поддерживают второй аргумент, когда он установлен на TRUE
, он возвратит Array
вместо stdClass Object
. Проверьте страницу Manual функции json_decode
, чтобы увидеть все поддерживаемые аргументы и их детали.
Например попробуйте это:
$json_string = 'http://www.example.com/jsondata.json';
$jsondata = file_get_contents($json_string);
$obj = json_decode($jsondata, TRUE); // Set second argument as TRUE
print_r($obj['Result']); // Now this will works!
Это поздний вклад, но есть действительный случай для кастинга json_decode
с (array)
.
Рассмотрим следующее:
$jsondata = '';
$arr = json_decode($jsondata, true);
foreach ($arr as $k=>$v){
echo $v; // etc.
}
Если $jsondata
когда-либо будет возвращено как пустая строка (как, по моему опыту, часто), json_decode
вернет NULL
, что приведет к ошибке Предупреждение: неверный аргумент указан для foreach () в строке 3 . Вы можете добавить строку кода if / then или троичного оператора, но IMO чище просто изменить строку 2 на ...
$arr = (array) json_decode($jsondata,true);
... если вы не json_decode
используете одновременно миллионы больших массивов, и в этом случае, как указывает @ TCB13, производительность может ухудшиться.
Пожалуйста, попробуйте это
<?php
$json_string = 'http://www.domain.com/jsondata.json';
$jsondata = file_get_contents($json_string);
$obj = json_decode($jsondata, true);
echo "<pre>"; print_r($obj['Result']);
?>
json_decode($data, true); // Returns data in array format
json_decode($data); // Returns collections
Итак, если вам нужен массив, вы можете передать второй аргумент как 'true' в функцию json_decode
.
Согласно функции PHP Documentation json_decode
есть параметр с именем assoc , который преобразует возвращаемые объекты в ассоциативные массивы
mixed json_decode ( string $json [, bool $assoc = FALSE ] )
С Параметр assoc по умолчанию имеет значение FALSE
. Вам необходимо установить это значение на TRUE
, чтобы получить массив.
Изучите приведенный ниже код для примера использования:
$json = '{"a":1,"b":2,"c":3,"d":4,"e":5}';
var_dump(json_decode($json));
var_dump(json_decode($json, true));
, который выводит:
object(stdClass)#1 (5) {
["a"] => int(1)
["b"] => int(2)
["c"] => int(3)
["d"] => int(4)
["e"] => int(5)
}
array(5) {
["a"] => int(1)
["b"] => int(2)
["c"] => int(3)
["d"] => int(4)
["e"] => int(5)
}
Если вы работаете с php меньше 5.2, вы можете использовать этот ресурс.
http://techblog.willshouse.com/2009/06/12/using-json_encode-and-json_decode-in-php4/
Попробуй так:
$json_string = 'https://example.com/jsondata.json';
$jsondata = file_get_contents($json_string);
$obj = json_decode($jsondata);
print_r($obj->Result);
foreach($obj->Result as $value){
echo $value->id; //change accordingly
}
в PHP json_decode конвертирует данные json в связанный с PHP массив
Например: $php-array= json_decode($json-data, true);
print_r($php-array);
я надеюсь, что это поможет Вам
$json_ps = '{"courseList":[
{"course":"1", "course_data1":"Computer Systems(Networks)"},
{"course":"2", "course_data2":"Audio and Music Technology"},
{"course":"3", "course_data3":"MBA Digital Marketing"}
]}';
Использование, Json декодируют функцию
$json_pss = json_decode($json_ps, true);
Цикличное выполнение по массиву JSON в Результате php
foreach($json_pss['courseList'] as $pss_json)
{
echo '<br>' .$course_data1 = $pss_json['course_data1']; exit;
}
: Компьютерные системы (Сети)