全球主机交流论坛

标题: 菜鸟请教PHP怎么用二维数组 拼接成JS可用的 JS数组 [打印本页]

作者: 蓝洛水深    时间: 2017-8-9 21:33
标题: 菜鸟请教PHP怎么用二维数组 拼接成JS可用的 JS数组
本帖最后由 蓝洛水深 于 2017-8-9 22:59 编辑

var position2 = [
{ name: '$name',         position: [$zuobiao],         type: 'bk',        'province':'Gz',        url:'$link' },      
    ];

如上,我想在对应位置置入变量,得到类似如下:

var position2 = [
{ name: '123',         position: [123],         type: 'bk',        'province':'Gz',        url:'123' },      
{ name: '223',         position: [223],         type: 'bk',        'province':'Gz',        url:'223' },      
{ name: '323',         position: [323],         type: 'bk',        'province':'Gz',        url:'323' },      
    ];

想请教论坛各位大佬前辈,要怎么才能实现
用的thinkphp



已经解决:
http://www.loc.010206.xyz/thread-380454-1-1.html
感谢您的回答,问题已经解决

我用的thinkphp,在控制文件这样写:

<?php
namespace Home\Controller;
use Think\Controller;
class IndexController extends Controller {
    public function index(){
                $maps = D('maps');
                $info = $maps -> select();
                //var_dump($info);
                //$this -> assign('info',$info);
                //调用模板
                $str="[";
                        foreach($info as $k=>$v) {
                                $str.="{ name: '".$v['name']."', position: [".$v['zuobiao']."], type: 'bk".$v['type']."','province':'贵州".$v['province']."',url:'".$v['link']."' },";
                        }
                        $str=$str."]";
                //var_dump($str);
                $this -> assign('str',$str);
                $this -> display();
    }
}


在模板文件这样写:
var position2 = <?php echo $str;?>;       



作者: 嫂子抱紧我    时间: 2017-8-9 21:37
后端输出json
前端js访问读取
作者: 蓝洛水深    时间: 2017-8-9 21:38
嫂子抱紧我 发表于 2017-8-9 21:37
后端输出json
前端js访问读取

我还没弄过json……我试试
作者: means    时间: 2017-8-9 22:20
不知道是不是你要的效果

  1.         // 假设你的二维数组是这样的
  2.         $arrays = array(
  3.                 array(
  4.                         'name' => '123',
  5.                         'zuobiao' => '123',
  6.                         'link' => '123'
  7.                 ),
  8.                 array(
  9.                         'name' => '234',
  10.                         'zuobiao' => '234',
  11.                         'link' => '234'
  12.                 )
  13.         );
  14.        
  15.         $output = array();
  16.         foreach ($arrays as $array) {
  17.                 $output[] = "{ name: '" . $array['name'] . "',         position: [" . $array['zuobiao'] . "],         type: 'bk',        'province':'Gz',        url:'" . $array['link'] . "' }";
  18.         }
  19.        
  20.         $a = "var position2 = [\n                " . implode(',', $output) . "\n    ];";
  21.        
  22.         print_r($a);
复制代码

作者: 蓝洛水深    时间: 2017-8-9 22:46
means 发表于 2017-8-9 22:20
不知道是不是你要的效果

非常感谢大佬




欢迎光临 全球主机交流论坛 (https://loc.010206.xyz/) Powered by Discuz! X3.4