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]
николай
и далее повторяется
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
Ты массив получил?
николай
да, но только в вардампе
Garry
Ну в вардампе это и емть массив
Garry
foreach ( $out as $key => $value ){ $nextKey = $key + 1; if( $out[$nextKey] ){ echo "Значение следующего массива:" . $out[$nextKey];//Значение следующего массива:2 } }
Garry
Это чтобы вывести след элемент
Garry
попробуй это
Проверь тоже
николай
попробуй это
тоже работает
Unknown
теперь ужк с foreach выводи чистый масив