Как передать массива из объекта php в js
На PHP есть объект $db в нем есть массив social, в массиве разные данные на основе объекта
[db] => DB Object [soсial] => Array ( [linkedin] => http://www.linkedin.com/ [facebook] => https://www.facebook.com [google] => https://plus.google.com/ ) Как из этого массива добавить,в массив js только ссылки чтобы было arr = ["http://www.linkedin.com/","https://www.facebook.com", " https://plus.google.com/"] |
<script> var arr = <?=json_encode(array_values(current($array_name['db'])))?> </script> |
Ничего не выводит в консоли тоже нет ничего
Вот кусок кода может так понятнее будет $social_links = array( 'linkedin', 'facebook', 'google'); foreach( $social_links as $social ) { echo "<tr><td>".$d->social[ $social ]."</td></tr>"; } В цикле все корректно находится и выводится print_r($d->social) Array ( [linkedin] => http://www.linkedin.com/company/10667 [facebook] => https://www.facebook.com/ [twitter] => https://twitter.com/facebook ) echo json_encode($d->social); {"linkedin":"http:\/\/www.linkedin.com\/company\/10667","facebook":"https:\/\/www.facebook.com\/","twitter":"https:\/\/twitter.com\/facebook"} Как эти данные в массив js занести не могу понять, я только начинаю знакомится с js и поэтому четкого понимания нет |
Значит структура данных совсем иная, ибо в том как было показано $d не является объектом. Ну это если объявить например так:
$a = ['db' => (object)[ 'soсial' => [ 'linkedin' => 'http://www.linkedin.com/', 'facebook' => 'https://www.facebook.com', 'google' => 'https://plus.google.com/' ] ] ]; var_dump($a); //объектом будет social, а показанный код вернет требуемое echo json_encode(array_values(current($a['db']))); //а в вашей структуре нужно так echo json_encode(array_values($d->social)); |
Большое спасибо, действительно помогло
var link = <?=json_encode(array_values($d->social))?>; |
Часовой пояс GMT +3, время: 18:28. |