Поэтому я занят созданием системы. Эта система генерирует бит JSON
Например:
{
"Builds": [
{
"title": "test",
"item1": "3",
"item2": "3",
"item3": "0",
"item4": "0",
"item5": "0",
"item6": "0"
},
{
"title": "test2",
"item1": "3",
"item2": "3",
"item3": "2",
"item4": "0",
"item5": "0",
"item6": "0"
}
]
}
Теперь я пытаюсь получить каждую "сборку" с помощью foreach в PHP, это только первый цикл, а затем ничего не делает.
$i = 0;
foreach($builds as $build){
//echo $i;
echo $build[$i]['title'];
echo '<img src="' . $build[$i]['item1'] . '" alt=""></img>';
$i++;
}
Из-за цикла for вам не нужен счетчик.
$json = '{"Builds":[{"title":"test","item1": "3","item2": "3","item3": "0","item4": "0","item5": "0","item6": "0"},{"title":"test2","item1": "3","item2": "3","item3": "2","item4": "0","item5": "0","item6": "0"}]}';
$data = json_decode($json, true);
$builds = $data['Builds'];
foreach($builds as $build){
echo $build['title'];
echo '<img src="' . $build['item1'] . '" alt=""></img>';
}
Единственной причиной для счетчика будет, если вы хотите перебирать элементы элементов в своих сборках.
for ($i = 1; isset($build['item' . $i]); $i++) {
echo '<img src="' . $build['item' . $i] . '" alt=""></img>';
}
foreach($builds['Builds']
Вы работаете с массивом объектов. Вот как вы должны это делать:
<?php
$json = ""; //your JSON string
$obj = json_decode($json);
foreach ($obj->Builds as $build) {
echo $build->title;
echo "<img src='$build->item1' alt=''>";
}
?>
Это рабочая версия
$builds = '{"Builds":[{"title":"test","item1": "3","item2": "3","item3": "0","item4": "0","item5": "0","item6": "0"},{"title":"test2","item1": "3","item2": "3","item3": "2","item4": "0","item5": "0","item6": "0"}]}';
foreach(json_decode( $builds )->Builds as $build ){
echo $build->title;
echo '<img src="' . $build->item1 . '" alt=""></img>';
}
Сначала вам нужно использовать json-декодированный объект Builds
для перебора. Это даст вам объекты для отображения, например $build->title
echo $build['title'];
и т.д