arbuzmaster
13.03.2016 - 18:04
Подскажите пожалуйста как при переборе массива, преобразовать два последовательных значения в одно и записать в новый массив через разделитель?
Ситуация следующая: с помощью file(); строки из файла попадают в массив, в итоге получается массив следующего характера
array(1=>имя, 2=>ссылка,3=>имя, 4=>ссылка,....)
как это все безобразие привести к следующему виду
json {"elements":[{"name":"имя","url":"ссылка"},{"n ame":"имя","url":"ссылка"}]}
может есть какой - то другой способ?
_____________
Мой первый сайтикПосмотри на свой XBMC под другим углом
sergeiss
13.03.2016 - 18:07
В ПХП есть функции json_encode() & json_decode(). Готовишь массив нужной структуры и легко получаешь json объект. Или из json-объекта получаешь массив.
_____________
*
Хэлп по PHP*
Описалово по JavaScript *
Хэлп и СУБД для PostgreSQL*
Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги. *
"накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)
arbuzmaster
13.03.2016 - 18:09
Так собственно, вопрос в том как подготовить этот самый массив, с функциями и так все понятно!
_____________
Мой первый сайтикПосмотри на свой XBMC под другим углом
arbuzmaster
13.03.2016 - 18:12
Вот так добавляю, но как разделить предыдущий массив, на name и url ?
$array_info["elements"][] = array("name"=>$name, "url"=>$url);
или привести его например к такому виду
array(0=>имя|ссылка,1=>имя|ссылка,2=>имя|ссылка,3=>имя|ссылка,....)
_____________
Мой первый сайтикПосмотри на свой XBMC под другим углом
yurajun
13.03.2016 - 22:12
Добрый вечер. Вот мой вопрос . Читаю папку и получаю массив
Array ( [0] => 1.jpg [1] => 10.jpg [2] => 11.jpg [3] => 12.jpg [4] => 13.jpg [5] => 14.jpg [6] => 15.jpg [7] => 16.jpg [8] => 17.jpg [9] => 18.jpg [10] => 2.jpg [11] => 3.jpg [12] => 4.jpg [13] => 5.jpg [14] => 6.jpg [15] => 7.jpg [16] => 8.jpg [17] => 9.jpg )
мне надо преобразовать его так чтоб получился массив как в javascript
var photos = new Array
( "1.jpg","2.jpg","3.jpg","4.jpg","5.jpg","6.jpg ","7.jpg","8.jpg","9.jpg","10.jpg","11.jpg","12.jpg","13.jpg","14.jpg","15.jpg&q uot;,"16.jpg","17.jpg","18.jpg" // в конце нет запятой ( это важно )
);
SerginhoLD
13.03.2016 - 22:28
var photos = <?= json_encode($array); ?>;
_____________
"internet explorer всех правильней отображает страницы" ©
FatCat
13.03.2016 - 22:31
$string = '"'.implode('","', $array).'"';
echo '<script type="text/javascript">
var photos = new Array('.$string.');
</script>';
_____________
Бесплатному сыру в дырки не заглядывают...
yurajun
14.03.2016 - 21:51
я решил это дело так , может чудно конечно
$ph_file = fopen("inc/photos.js", "w");
fwrite( $ph_file, "var photos = new Array(");
fclose($ph_file);
$dir = "images1";
$dh = opendir($dir);
while(false!==($filename = readdir($dh))){
if ($filename != "." && $filename != ".."){
$files[] = $filename;
}
}
$ph_file = fopen("inc/photos.js", "a");
foreach($files as $k=>$v){
fwrite($ph_file,"\"$v\",");
}
fclose($ph_file);
$result = file_get_contents("inc/photos.js");
$rest = substr($result, 0, -1);
$ph_file = fopen("inc/photos.js", "w");
fwrite( $ph_file, "$rest);");
fclose($ph_file);
прочитал папку , получил массив и создал новый файл с другим массивом
этот массив читает скрипт js и все работает
yurajun
14.03.2016 - 22:01
изобрел велосипед
var photos = <?= json_encode($files); ?>;
все очень хорошо работает
СПАСИБО