douyan1321 2014-02-16 21:36
浏览 15
已采纳

PHP - 将列表变量分解为数组

i have a small problem with the explode function. I have a string like this:

$response:"online,ksksuems,3428939,670605083faeb7750e1afc1010f0f66f8ef0025a,File1.zip
offline,iwksksiw,,, offline,kdlsiwie,,, offline,jdmsmwus,,,
online,uekseks,4023702,37d97c816afdfb10857057d870e74e8774e2bf8a,File2.zip
online,jwksjwa,8860421,20b5e3154653f24963d005cd873917d3cc0a0fe2,File3.rar
online,jsusneus,4912753,9489a47bac4d2a4f7f6810cb37f60924ef48fc48,File4.rar
online,udjdjsis,1177526,5d1da2a1aebae206908ef6d88105f5272ab423e0,File5.zip"

Now I wanted to use the explode function:

list($fileStatus, $fileId, $fileSize, $fileSha1, $fileName) = explode(",", $response);

But I will only get 1 response, if I print the content of $fileStatus. My Question now, how can i get an array for each variable? So that i have "array(ksksuems => online, iwksksiw => offline);" ?

  • 写回答

2条回答 默认 最新

  • doushen4719 2014-02-16 21:44
    关注

    This should work -

    $arr = Array();
    $lines = explode("
    ", $response);
    
    //print the exploded lines here.
    var_dump($lines);
    /*
        Expected output -
        array
          0 => string 'online,ksksuems,3428939,670605083faeb7750e1afc1010f0f66f8ef0025a,File1.zip' (length=74)
          1 => string 'offline,iwksksiw,,, offline,kdlsiwie,,, offline,jdmsmwus,,,' (length=59)
          2 => string 'online,uekseks,4023702,37d97c816afdfb10857057d870e74e8774e2bf8a,File2.zip' (length=73)
          3 => string 'online,jwksjwa,8860421,20b5e3154653f24963d005cd873917d3cc0a0fe2,File3.rar' (length=73)
          4 => string 'online,jsusneus,4912753,9489a47bac4d2a4f7f6810cb37f60924ef48fc48,File4.rar' (length=74)
          5 => string 'online,udjdjsis,1177526,5d1da2a1aebae206908ef6d88105f5272ab423e0,File5.zip' (length=74)
    */
    
    
    foreach($lines as $line){
        list($fileStatus, $fileId, $fileSize, $fileSha1, $fileName) = explode(",", $line);
        $arr[$fileId] = $fileStatus;
    }
    var_dump($arr);
    /*
        OUTPUT-
        array
          'ksksuems' => string 'online' (length=6)
          'iwksksiw' => string 'offline' (length=7)
          'uekseks' => string 'online' (length=6)
          'jwksjwa' => string 'online' (length=6)
          'jsusneus' => string 'online' (length=6)
          'udjdjsis' => string 'online' (length=6)
    */
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 springboot 3.0 实现Security 6.x版本集成
  • ¥15 PHP-8.1 镜像无法用dockerfile里的CMD命令启动 只能进入容器启动,如何解决?(操作系统-ubuntu)
  • ¥15 请帮我解决一下下面六个代码
  • ¥15 关于资源监视工具的e-care有知道的嘛
  • ¥35 MIMO天线稀疏阵列排布问题
  • ¥60 用visual studio编写程序,利用间接平差求解水准网
  • ¥15 Llama如何调用shell或者Python
  • ¥20 谁能帮我挨个解读这个php语言编的代码什么意思?
  • ¥15 win10权限管理,限制普通用户使用删除功能
  • ¥15 minnio内存占用过大,内存没被回收(Windows环境)