Скопировать массив PHP в массив javascript

Я хочу скопировать массив PHP в массив javascript. Javascript используется в файле PHP. Это повторяется в PHP-коде, поэтому, когда я пытался создать новый массив в javascripy и просто назначил ему массив PHP, это дало мне ошибку. Преобразование массива в строку. Может ли кто-нибудь помочь мне в этом.

mysql_select_db("cerebra", $con); $sql="select name from details order by download desc limit 20"; if (!mysql_query($sql,$con))`enter code here` { die('Error: ' . mysql_error()); } $query=mysql_query($sql,$con); $names=array(); while($row=mysql_fetch_array($query)) { $names[]=$row[0]; } 

Здесь $ names – это массив, который я хочу использовать в javascript

то i echo мой javascript внутри самого php-кода ..:

  function makeRequest() { var d = document.getElementsByName(\"d\")[0].value; var request = gapi.client.drive.files.list(); var newnames = new Array(); newnames=$names; request.execute(function(resp) { for (i=0; i<resp.items.length; i++) { var titulo = resp.items[i].title; var fechaUpd = resp.items[i].modifiedDate; var userUpd = resp.items[i].lastModifyingUserName; var userEmbed = resp.items[i].embedLink; var userAltLink = resp.items[i].alternateLink; var download = resp.items[i].webContentLink; var hold=\"Download\"; var flag=0; <!-- var fileInfo = document.createElement('li'); <!-- fileInfo.appendChild(document.createTextNode('TITLE: ' + titulo + ' - LAST MODIF: ' + fechaUpd + ' - BY: ' + userUpd +' url: ' + hold.link(download))); <!-- document.getElementById('content').appendChild(fileInfo); <!--for (var i=0;i<newnames.length;i++){ <!-- if(newnames[i].toString() == titulo){ document.write(titulo + \"&nbsp;\"); document.write(hold.link(download) + \"<br>\"); <!--flag=1; <!-- } <!--} } <!--if(flag!=1){ <!--document.write(\"not found!\"); <!--} }); } 

Здесь, в javascript, я пытаюсь преобразовать массив php в массив javascript, но его не работает

Пример-1:

 <script type='text/javascript'> <?php $php_array = array('he','hi','hello'); $js_array = json_encode($php_array); echo "var javascript_array = ". $js_array . ";\n"; ?> </script> 

ПРИМЕЧАНИЕ. Вы можете преобразовать массивы php в javascript, используя функцию json_encode () php.

Проверьте это преобразование php-массива в массив Java-скриптов для получения дополнительной информации.

Пример-2:

Код PHP:

 $arr = array(1,2,3,4,5,6,7); $script = '<script>var newArr = new Array(' . implode(',', $arr) . ');</script>'; echo $script; 

Код HTML:

 <script> function doOnchange(arr){ alert(arr.length); } </script> <form name="frm"> <select name="sel1" onchange="doOnchange(newArr);"> <option>1</option> <option>2</option> <option>3</option> </select> </form> 

Оформить еще несколько ссылок,

Как преобразовать многомерный массив PHP в объект Javascript (используя jQuery)

array2json () – Преобразование массивов PHP в JSON

json_encode передать php-массив в javascript

может это вам помочь.

Посмотрите на функцию json_encode () . Измененный пример с сайта:

 <?php $arr = array ('a'=>1,'b'=>2,'c'=>3,'d'=>4,'e'=>5); echo 'var js_object = '.json_encode($arr).';'; // outputs: var js_object = {"a":1,"b":2,"c":3,"d":4,"e":5}; ?> 

Если это один или простой массив, вы можете вручную построить массив javascript из массива PHP. Но это не очень хороший способ. Я бы предложил метод json или xml.

  <?php $myArr = array(1,2,3,4,5); ?> <script> var myArr = new Array(); <?php for($i=0;$<count($myArr);$i++) { ?> myarr[<?php echo $i ?>] = <?php echo $myArr[$i] ?>; <?php } ?> ?> </script>