将PHP数组复制到javascript数组中


Copy PHP array into javascript array

我想将PHP数组复制到javascript数组中。javascript正在PHP文件中使用。它在PHP代码中得到了响应,所以当我试图在javascropy中创建一个新数组并将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 中使用的数组

然后我在php代码中回显我的javascript。:

   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的json_encode()函数将php数组转换为javascript。

查看这个将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};
?>

如果是单个或简单的数组,您可以从PHP数组手动构建javascript数组。但这不是一个好办法。我建议使用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>