【问题标题】:How to explode this into an array of variables?如何将其分解为变量数组?
【发布时间】:2010-12-17 19:18:17
【问题描述】:

我已经准备好以下内容来分解 $tmp 中的 br ..

  $tmp = explode('<br>', $tmp);
  echo $tmp[0];
  echo "<br>";
  echo $tmp[1];

现在,在 $tmp[0] 中有一堆文本,由管道“|”分隔。即:word1|word2|word3|word4|word5 请注意,最后一次不会在管道中结束..

如何在没有管道的情况下分解 $tmp[0] 以获取每一位文本,将它们变成一个数组,即:$pipetxt[0]、$pipetxt[1] 等。

发生上述情况后,我可以做与上述完全相同的事情吗..但是去;

$pipetxt = explode('|', $tmp[0]);
echo $pipetxt[0];
echo "<br>";
echo $pipetxt[1];

谢谢!

【问题讨论】:

  • 那么......你已经拥有的东西又出了什么问题?
  • 我还没有测试过第二次爆炸.. 只是检查这是否是正确的方法以及我是否能够在已经爆炸的数组上做到这一点?
  • 函数从不关心曾经是什么,只关心它是什么
  • 没有“已经爆炸的数组”这样的东西。数组和字符串没有被分解的概念。 $tmp 开始是一个字符串(一些文本),当你分解它时,你会得到一个字符串数组(一个字符串“包”)。所以你的 $tmp 变量现在指向一堆字符串。然后,当您分解 $tmp[0] 时,您正在做的是获取数组(另一个字符串)的“第 0 个”(第一个)元素并将其分解以获得一个新的字符串数组。您可以无限期地以这种方式继续(可能发生的最坏情况是得到一个包含单个字符串的数组)。

标签: php arrays


【解决方案1】:

你的爆炸看起来不错,你可以用foreach()输出你所有的$pipetxt

foreach($pipetxt as $out)
  echo $out . "<br>";

【讨论】:

    【解决方案2】:

    是的

    但你可能应该采用一些循环。

    $tmp = explode('<br>', $tmp);
    
    foreach($tmp as $pipeline){
     $pipetxt_array = explode('|', $pipeline);
     foreach ($pipetxt_array as $output){
      echo $output."<br />";
     }
    }
    

    【讨论】:

    • 谢谢 Ben - 会选择这个作为答案,尽管 styu 首先使用了一种工作方法。我会尽快测试你的,不过看起来很棒!感谢您的建议!
    猜你喜欢
    • 2020-08-31
    • 2014-03-16
    • 1970-01-01
    • 2019-03-06
    • 2018-06-10
    • 1970-01-01
    • 2022-01-17
    • 2019-06-02
    • 2013-01-21
    相关资源
    最近更新 更多