【问题标题】:Strip whitespace from associative array Keys从关联数组键中去除空格
【发布时间】:2015-11-26 19:24:25
【问题描述】:

我有一个在键和值中输出空格的关联。我需要从第一个字母和最后一个字母中去掉空格,并保持中间的空格。

我试过了

$stripResults = array_filter(array_map('trim', $results));

这会完美地去除值,但不会去除键。如何剥离键和值?

【问题讨论】:

标签: php


【解决方案1】:

密钥必须单独处理:

$a = array_map('trim', array_keys($stripResults));
$b = array_map('trim', $stripResults);
$stripResults = array_combine($a, $b);

【讨论】:

  • 这个答案很棒。只有几行,做得很好,谢谢!
【解决方案2】:

如果您正在查看此内容并需要删除或替换不在键开头或结尾的空格,您可以将数组传递给str_replace

$my_array = array( 'one 1' => '1', 'two 2' => '2' );
$keys = str_replace( ' ', '', array_keys( $my_array ) );
$results = array_combine( $keys, array_values( $my_array ) );

示例: https://glot.io/snippets/ejej1chzg3

【讨论】:

    【解决方案3】:

    试试这个功能会对你有帮助..

    function trimArrayKey(&$array)
    {
        $array = array_combine(
            array_map(
                function ($str) {
                    return str_replace(" ", "_", $str);
                },
                array_keys($array)
            ),
            array_values($array)
        );
    
        foreach ($array as $key => $val) {
            if (is_array($val)) {
                trimArrayKey($array[$key]);
            }
        }
    }
    

    希望这会有所帮助...

    【讨论】:

      【解决方案4】:

      接受的答案并没有解决我的特定情况下的问题,但这成功了。

      $temp = array();
      foreach ($stripResults as $key => $value) {
          $temp[trim($key)] = trim($value);
      }
      $stripResults = $temp;
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-04-17
        • 2018-09-16
        • 2018-03-21
        • 2010-12-17
        • 2017-03-16
        • 2017-03-30
        • 2010-09-19
        • 2021-02-06
        相关资源
        最近更新 更多