【问题标题】:how to put comma separated words into array如何将逗号分隔的单词放入数组
【发布时间】:2016-04-25 19:34:48
【问题描述】:

我有一个数组,我已将其转换为逗号分隔,这就是我的做法:

$array[] = $imp;
$strings = implode(", ", $array);

内爆后我得到 34、56、78。

现在我有一个存储在会话中的数组,我想将$strings 添加到其中:

array_push($_SESSION['array'],$strings);

但是当我打印出来时:

Array ( [0] => 191 [2] => 34, 56, 78 )

我想分别添加 34、56、78 的值,这样数组可以如下所示:

Array ( [0] => 191 [2] => 34 [3] => 56 [4] => 78 )

【问题讨论】:

  • 如果你想要一个数组,你为什么要对数组进行内爆?
  • $_SESSION['array'] = array_merge($_SESSION['array'], $array);
  • 因为该数组来自另一个 php 文件并且通过 ajax 处理起来有点困难
  • json_decode 也许。也许从 JSON 开始问题。
  • 因为我必须将该数组显示为看起来不太好的输入值,这就是原因!

标签: php arrays explode implode


【解决方案1】:

如果你想要一个数组,你为什么要对数组进行内爆?只需这样做:

$_SESSION['array'] = array_merge($_SESSION['array'], $imp);

【讨论】:

    【解决方案2】:

    复制粘贴下一个代码并在浏览器中运行:

    <html>
      <head>
      </head>
      <body>
    <?php
    $_SESSION[ "arr" ] = array( "100","200","300" );
    $strings = "34,56,78";
    $_SESSION[ "arr" ] = array_merge( $_SESSION[ "arr" ],explode( ",",$strings) );
    var_dump( $_SESSION[ "arr" ] );
    ?>
      </body>
    </html>
    

    【讨论】:

    • 为什么会爆炸?只是不要内爆。
    • 字符串"34,56,78"是使用implode()生成的
    • @JoseManuelAbarcaRodríguez 那么你的答案与问题无关。
    【解决方案3】:

    这是为您提供的解决方案。

    <?php
    $arr= array('5','10,20,30');
    $newArr = [];
    foreach ($arr as $key => $value) {    
        $element = explode(',',$value);
        if (count($element)>1) {
          echo "This is an array";
          foreach ($element as $key => $value1) {
            $newArr[]=$value1;
          }   
        } else {
          echo "Not an array";
          $newArr[]=$value;
        }
    }
    echo "<pre>";print_r($newArr);
    
    ?>
    

    【讨论】:

      猜你喜欢
      • 2014-03-31
      • 2017-12-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-04-11
      • 2019-02-12
      • 2020-07-06
      相关资源
      最近更新 更多