use*_*878 171 javascript php arrays
如何以这样的格式转换PHP数组
Array
(
[0] => 001-1234567
[1] => 1234567
[2] => 12345678
[3] => 12345678
[4] => 12345678
[5] => AP1W3242
[6] => AP7X1234
[7] => AS1234
[8] => MH9Z2324
[9] => MX1234
[10] => TN1A3242
[11] => ZZ1234
)
Run Code Online (Sandbox Code Playgroud)
以下面的格式的Javascript数组?
var cities = [
"Aberdeen",
"Ada",
"Adamsville",
"Addyston",
"Adelphi",
"Adena",
"Adrian",
"Akron",
"Albany"
];
Run Code Online (Sandbox Code Playgroud)
Spu*_*ley 417
我将假设您为PHP和JS提供的两个数组不相关,它们只是数组在两种语言中的外观示例.显然,你无法将这些字母和数字序列转换为这些城市名称.
PHP提供了将PHP数组转换为Javascript代码的功能:json_encode().(从技术上讲,它是JSON格式; JSON代表JavaScript Object Notation)
像这样使用它:
<script type='text/javascript'>
<?php
$php_array = array('abc','def','ghi');
$js_array = json_encode($php_array);
echo "var javascript_array = ". $js_array . ";\n";
?>
</script>
Run Code Online (Sandbox Code Playgroud)
有关详细信息,另请参阅上面链接的手册页.
请注意,json_encode()仅在PHP 5.2及更高版本中可用,因此如果您使用的是旧版本,则需要使用现有版本- PHP手册页还包含由需要它的人编写的功能的注释.(但是,如果你使用的是比PHP 5.2更旧的东西,你应该尽快升级)
Udo*_*o G 56
安全注意事项: 您不再需要以下内容
如果你没有PHP 5.2,你可以使用这样的东西:
function js_str($s)
{
return '"' . addcslashes($s, "\0..\37\"\\") . '"';
}
function js_array($array)
{
$temp = array_map('js_str', $array);
return '[' . implode(',', $temp) . ']';
}
echo 'var cities = ', js_array($php_cities_array), ';';
Run Code Online (Sandbox Code Playgroud)
Eri*_*ric 35
愚蠢而简单:
var js_array = [<?php echo '"'.implode('","', $php_array).'"' ?>];
Run Code Online (Sandbox Code Playgroud)
Jay*_*han 29
您不必调用parseJSON,因为输出json_encode是javascript文字.只需将其分配给js变量即可.
<script type="text/javascript">
//Assign php generated json to JavaScript variable
var tempArray = <?php echo json_encode($php_array); ?>;
//You will be able to access the properties as
alert(tempArray[0].Key);
</script>
Run Code Online (Sandbox Code Playgroud)
Dip*_* KC 22
你可以使用php的json_encode函数将php数组转换为javascript
Run Code Online (Sandbox Code Playgroud)<?php $phpArray = array( 0 => 001-1234567, 1 => 1234567, 2 => 12345678, 3 => 12345678, 4 => 12345678, 5 => 'AP1W3242', 6 => 'AP7X1234', 7 => 'AS1234', 8 => 'MH9Z2324', 9 => 'MX1234', 10 => 'TN1A3242', 11 => 'ZZ1234' ) ?>
<script type="text/javascript">
var jArray= <?php echo json_encode($phpArray ); ?>;
for(var i=0;i<12;i++){
alert(jArray[i]);
}
</script>
Run Code Online (Sandbox Code Playgroud)
use*_*931 14
我发现在Javascript中使用PHP数组的最快捷最简单的方法是:
PHP:
$php_arr = array('a','b','c','d');
Run Code Online (Sandbox Code Playgroud)
使用Javascript:
//this gives me a JSON object
js_arr = '<?php echo JSON_encode($php_arr);?>';
//Depending on what I use it for I sometimes parse the json so I can work with a straight forward array:
js_arr = JSON.parse('<?php echo JSON_encode($php_arr);?>');
Run Code Online (Sandbox Code Playgroud)
اسم*_*ارع 10
很简单 ...!
使用此方法:
<?php echo json_encode($your_array); ?>;
Run Code Online (Sandbox Code Playgroud)
在laravel blade {{}}中使用此方法:
{{ str_replace('"', '', json_encode($your_array)) }}
Run Code Online (Sandbox Code Playgroud)
为关联和非关联数组工作.
Rad*_*dez 10
很简单我用这种方式:
爪哇脚本:
var arrayJavascript = <?php echo json_encode($arrayPhp) ?>;
Run Code Online (Sandbox Code Playgroud)
将PHP 数组转换为 Javascript
问候!
小智 6
你也可以这样做
<script>
<?php
$php_array = array('abc','def','ghi');
$code_array = json_encode($php_array);
?>
var array_code = <?php echo $code_array; ?>;
console.log(array_code);
</script>
Run Code Online (Sandbox Code Playgroud)