Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/243.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript registerJS-Yii2中的数组到字符串转换_Javascript_Php_Arrays_Yii2_Data Conversion - Fatal编程技术网

Javascript registerJS-Yii2中的数组到字符串转换

Javascript registerJS-Yii2中的数组到字符串转换,javascript,php,arrays,yii2,data-conversion,Javascript,Php,Arrays,Yii2,Data Conversion,在我看来,我有一个数组,我可以通过执行以下操作来访问它: $model->stabilimenti; 现在在同一个视图中,在registerJS中,我试图将该数组保存在Javascript数组中,以便添加一些客户端检查 <?php $this->registerJs(<<<JS jQuery(document).ready(function(){ let jsArray = []; jsArray = $model->stab

在我看来,我有一个数组,我可以通过执行以下操作来访问它:

$model->stabilimenti;
现在在同一个视图中,在registerJS中,我试图将该数组保存在Javascript数组中,以便添加一些客户端检查

<?php
$this->registerJs(<<<JS
    jQuery(document).ready(function(){

    let jsArray = [];
    jsArray = $model->stabilimenti;

JS
);
对于非数组变量,这种方法有效

我也尝试过使用这个符号,但没有成功

let jsArray = <?php echo json_encode($model->stabilimenti); ?>;

这是一个lecit操作吗?

您缺少.readyfunction{函数的右括号和圆括号},如果这不是一个错误,请将代码粘贴到此处

您应该使用数组$model->stabilementi上的yii\helpers\JSON或JSON_encode将php数组解析为驻留在php中的javascript,并将其转换为JSON,然后将其分配给javascript变量。注册脚本时,请使用\yii\web\View::POS_ready,尝试在DOM就绪状态下加载代码

您应该将代码彼此分开。请参阅下面的代码,它应该可以正常工作

<?php
$stabilimenti = \yii\helpers\Json::encode($model->stabilimenti);

$js = <<<JS
jQuery(document).ready(function(){
    let jsArray = {$stabilimenti};
});
JS;
$this->registerJs($js, \yii\web\View::POS_READY);

这回答了你的问题吗?