加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

PHP数组stringify

发布时间:2020-12-13 17:28:13 所属栏目:PHP教程 来源:网络整理
导读:在我编辑的歌词应用程序中,我正在使用一个数组打印一个艺术家表.艺术家阵列如下所示: $artists = [ [ "Avril Lavigne" ],[ "3 Doors Down" ],[ "Celine Dion" ],[ "Evanescence" ],[ "Shania Twain" ],[ "Green Day" ],//...]; 在打印之前,我对数组做了一些
在我编辑的歌词应用程序中,我正在使用一个数组打印一个艺术家表.艺术家阵列如下所示:
$artists = [
    [ "Avril Lavigne"               ],[ "3 Doors Down"                ],[ "Celine Dion"                 ],[ "Evanescence"                 ],[ "Shania Twain"                ],[ "Green Day"                   ],//...
];

在打印之前,我对数组做了一些修改.我有一个包含歌词文件的每个艺术家的文件夹.我将文件夹名称添加到$artists数组以备以后使用:

$folder_fix = [
    [" ","_" ],[".",""  ],["&","n" ],];

for ($i = 0; $i < count($artists); $i++) {
    $folder_name = strtolower($artists[$i][0]);
    for ($k = 0; $k < count($folder_fix); $k++) {
        $folder_name = str_replace($folder_fix[$k][0],$folder_fix[$k][1],$folder_name);
    }
    array_push($artists[$i],$folder_name);
}

稍后,我将每个艺术家的相册和曲目数添加到数组中:

$lyrics_base = "lyrics/";
for ($i = 0; $i < count($artists); $i++) {
    $albums_path    = $lyrics_base . $artists[$i][1] . "/*";
    $tracks_path    = $lyrics_base . $artists[$i][1] . "/*/*";
    $albums         = count(glob($albums_path));
    $tracks         = count(glob($tracks_path));
    array_push($artists[$i],$albums);
    array_push($artists[$i],$tracks);
}

数组的最终结果如下所示:

$artists = [
    [ "Avril Lavigne","avril_lavigne",5,61  ],[ "3 Doors Down","3_doors_down",13  ],[ "Celine Dion","celine_dion",7,22  ],[ "Evanescence","evanescence",4,10  ],[ "Shania Twain","shania_twain",3,12  ],[ "Green Day","green_day",8,26  ],//...
];

现在,我的问题是每次访问页面时都会发生这个过程.第二,第三和第四列是一次又一次创建的.我认为这是多余的.

我想保存数组的最终结果并在页面上使用它.如果这是JavaScript,我会使用JSON.stringify(),但是在PHP中,我不知道如何获得数组的最终结果. print_r()不执行此操作,因为它打印如下:

Array
(
    [0] => Array
        (
            [0] => Avril Lavigne
            [1] => avril_lavigne
            [2] => 5
            [3] => 61
        )

    [1] => Array
        (
            [0] => 3 Doors Down
            [1] => 3_doors_down
            [2] => 5
            [3] => 13
        )
...

我想要这样:

[
    [
        "Avril Lavigne",61
    ],[
        "3 Doors Down",13
    ],//...
]

有没有办法打印数组JSON.stringify()方式?

这是你想要的吗?

echo json_encode($artists)

PHP: json_encode

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读