簡體   English   中英

我們如何將數組的單個值分配給javascript中的任何變量

[英]how we can assign single value of array to any variable in javascript

<?php
$abc=array();
$abc = (abc, cde,fre);
?>
<script language="javascript" type="text/javascript">
for (var i = 0; i < 3; i++) {
var gdf = "<?php echo $lat['i'];?>";
alert("value ="+gdf);
}
</script>

您不想分配數組的單個值; 您正在尋找整個陣列。 您的JavaScript循環正在嘗試從PHP遍歷整個$abc數組。

這樣的事情會起作用:

var abc = <?php echo json_encode($abc); ?>;
for(var i = 0; i < 3; i++)
    var gdf = abc[i];
    alert("value = " + gdf);
}

首先,要構建一個PHP數組,您應該使用以下符號:

<?php

$abc = array('abc', 'cde', 'fre');

?>

接下來,不可能使用JavaScript直接循環瀏覽存儲在PHP中的變量。 您可以改為執行以下操作,在PHP中執行循環:

<?php
$abc=array('abc', 'cde', 'fre');
?>
<script language="javascript" type="text/javascript">
    <?php foreach ( $abc as $el ): ?>
    alert('value=<?php echo $el ?>');
    <?php endforeach ?>
</script>

或者,如果您真的希望循環在JavaScript中發生而不是在PHP中發生,則可以通過將數組轉換為JSON字符串並輸出來將PHP數組“導出”到JavaScript。

<?php
$abc=array('abc', 'cde', 'fre');
?>
<script language="javascript" type="text/javascript">
    var abc = <?php echo json_encode($abc) ?>;

    for ( var i = 0; i < abc.length; i++ ) {
        alert('value=' + abc[i]);
    }
</script>

在您發表評論之后,我認為這是您想要做的:

<?php

$abc = array('abc', 'cde', 'fre');

?>
<script type="text/javascript">
var gdf = '<?php

for ($i = 0; $i < count($abc); $i++) {
    echo "{$abc[$i]}";
    if ($i != (count($abc)-1)) echo ", ";
}

?>';
</script>

將輸出:

http://codepad.org/KjEH5CmN

<script type="text/javascript">
var gdf = 'abc, cde, fre';
</script>

注意

如果需要單個變量,可以使用implode效果很好:

http://codepad.org/UwukCY4m

<?php

$abc = array('abc', 'cde', 'fre');

?>
<script type="text/javascript">
var gdf = '<?php echo implode(', ',$abc); ?>';
</script>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM