Unknown
дай пример от массива
николай
а если делаю $key -> $value, то пишет что-то про пустой обьект (обрабатываю через simple xml load file
николай
щас
Garry
<pre>
<?var_dump($character->corpHistory)?>
</pre>
Garry
В студию
Unknown
😄
николай
D:\ampps\www\character\index.php:57:
object(SimpleXMLElement)[2]
public '@attributes' =>
array (size=4)
'recordID' => string '37985870' (length=8)
'corporationID' => string '98394680' (length=8)
'corporationName' => string '306 Legion' (length=10)
'startDate' => string '2015-05-02 18:22:00' (length=19)
Unknown
это не вариант
Unknown
лучше кусок кода от xml файла
николай
http://pastebin.com/PegNFSFQ
Garry
Пересобери в массив
Garry
Это самый банальный вариант
николай
я хз как
Garry
foreach( $character->corpHistory as $value ){
$out[] = array(
"corporationID" => $value['corporationID'],
"corporationName" => $value['corporationName'],
"startDate" => $value['startDate'],
);
}
echo "<pre>";
var_dump($out);
echo "</pre>";
Garry
Единственный момент это то что у тебя в самом последнем элементе не будет выводиться "startDate"
николай
Warning: It is not yet possible to assign complex types to properties
Garry
Это где?
николай
Garry
$out[] = array(
"corporationID" => $value->corporationID,
"corporationName" => $value->corporationName,
"startDate" => $value->startDate,
);
Garry
Попробу так
Garry
Ток это нужно заменить старый кусок
Garry
foreach ( $character->corpHistory as $value ){
echo "<pre>";
var_dump($value);
echo "</pre></br>";
}
В студию пожалуйста
николай
D:\ampps\www\character\index.php:58:
object(SimpleXMLElement)[7]
public '@attributes' =>
array (size=4)
'recordID' => string '37985870' (length=8)
'corporationID' => string '98394680' (length=8)
'corporationName' => string '306 Legion' (length=10)
'startDate' => string '2015-05-02 18:22:00' (length=19)
николай
и так каждый массив выводит
Garry
foreach ( $character->corpHistory as $value ){
echo "<pre>";
var_dump($value->recordID);
echo "</pre></br>";
}
А так?
николай
D:\ampps\www\character\index.php:58:
object(SimpleXMLElement)[6]
D:\ampps\www\character\index.php:58:
object(SimpleXMLElement)[7]
николай
и далее повторяется
Pavel
Garry
И лучше кидай printscr
николай
я пробовал смотреть в сторону ->attributes() у simple xml load file
николай
http://puu.sh/rOaUX/689998184e.png
Garry
foreach ( $character->corpHistory as $value ){
echo "<pre>";
var_dump($value->attributes->recordID);
echo "</pre></br>";
}
Так?
николай
Например такой код выводит это foreach ( $character->corpHistory->attributes() as $value ){
echo "<pre>";
var_dump($value);
echo "</pre></br>";
}
http://puu.sh/rOaWf/b64d9dcb93.png
николай
но я не знаю как пройтись по веррхнему циклу
николай
массиву*
Unknown
current($value)
Garry
foreach ( $character->corpHistory as $value ){
echo "<pre>";
var_dump($value->attributes->recordID);
echo "</pre></br>";
}
Скинь результат
николай
http://puu.sh/rOb0I/24f7a41c3c.png
Garry
foreach ( $character->corpHistory->attributes() as $key => $value ){
echo "<pre>";
echo $key . " " . $value;
echo "</pre></br>";
}
николай
http://puu.sh/rOb9h/7496091fcc.png
Garry
Только эти 4 поля?
николай
угу
николай
они из первой строки в чьд
николай
xml
Garry
А у тебя здесь значения выводились http://pastebin.com/9VRQkbcb ??
Garry
$value['corporationName']
Garry
$value['startDate']
Garry
эти
николай
да, они выводят в том массиве
николай
в общем-то проблема изначально в том, была, что мне нужно вывести startDate следующего элемента
Garry
$out = array();
foreach( $character->corpHistory as $value ){
$out[] = array(
"corporationID" => $value['corporationID'],
"corporationName" => $value['corporationName'],
"startDate" => $value['startDate'],
);
}
Garry
$out в студию
николай
Чем его вывести?
Garry
echo "<pre>";
var_dump($out);
echo "</pre>";
николай
http://pastebin.com/gkFf8QCw
Garry
Не работает ссылка
Garry
Все уже работает
Unknown
лучше пересобири все массивы
Unknown
$array = [];
foreach ($xml->row as $item) {
array_push($array, [
'recordID' => current($item['recordID']),
'corporationID' => current($item['corporationID']),
'corporationName' => current($item['corporationName']),
'startDate' => current($item['startDate']),
]);
}
Unknown
таким образом, потом next() , будет работать
Unknown
в $array будет у тебя чистый массив с данными
Garry
Так тоже нормальный массив должен быть
$out = array();
foreach( $character->corpHistory as $value ){
$out[] = array(
"corporationID" => strval($value['corporationID']),
"corporationName" => strval($value['corporationName']),
"startDate" => strval($value['startDate']),
);
}
echo "<pre>";
var_dump($out);
echo "</pre></br>";
Andrevv
кто подскажет куда смотреть при такой ошибке в консоле
http://joxi.ru/eAORdBZF4NqBZ2
Garry
Массив то получил?
Unknown
наверное получился )
Unknown
поэтому и молчит
Garry
Ответ то де??))
Garry
Ну ладно) Получил значит отлично)
Unknown
сейчас у него будет следующий вопрос )
Garry
)))
николай
http://puu.sh/rObZp/367c772df6.png как сделать, чтобы получить дату след элемента и вставить в текущий элемент?
Garry
Ты массив получил?
николай
да, но только в вардампе
Unknown
Garry
Ну в вардампе это и емть массив
Garry
foreach ( $out as $key => $value ){
$nextKey = $key + 1;
if( $out[$nextKey] ){
echo "Значение следующего массива:" . $out[$nextKey];//Значение следующего массива:2
}
}
Garry
Это чтобы вывести след элемент
Unknown
теперь ужк с foreach выводи чистый масив