【问题标题】:Get array number from Array with String value从具有字符串值的数组中获取数组编号
【发布时间】:2014-04-26 12:59:32
【问题描述】:

我在 PHP 中有一个带有字符串值的数组,例如:arr['apple'], arr['banana'],还有更多 - 大约 20-30 个数据(从某个进程中获取)。现在我想获取它的值并将其返回给一个变量。

例如,我原来的数组是这样的:

$arr['Apple']
$arr['Banana']
and more..

我想要的结果是这样的:

$arr[0] = "Apple"
$arr[1] = "Banana"
and more..

知道怎么做吗?

【问题讨论】:

    标签: php arrays string integer


    【解决方案1】:

    为什么不使用 array_keys()?

    $new_array = array_keys($array);
    

    【讨论】:

      【解决方案2】:

      使用array_flip()

      $new_arr = array_flip($old_arr);
      

      Demonstration

      【讨论】:

      • 绝对是最简单的方法:)
      • 这样,数组中所有多余的值都将被删除(因为数组键必须是唯一的)。
      • @AmalMurali,让我们稍后再担心......我希望他说得更多......也许是菠萝,番石榴,木瓜......是的,还有更多的水果,对吧? ;)
      • @CrossVander:结果将是一个数组。你不能回显/打印它。使用print_r($new_arr); 检查数组的内容。或者,如果您想将它们加入逗号分隔的字符串,请使用 implode()echo implode(', ', $new_arr);
      • 你好,我想问一下“=>1”是干什么用的?因为我的代码现在是这样的:eval.in/142463 而且我还是不能调用变量$new[0],它的输出是:“Undefined offset: 0 in”
      【解决方案3】:

      使用 foreach 循环

      foreach($arr as $key => $val){
          $new_var[] = $key; 
      }
      

      【讨论】:

        【解决方案4】:

        使用array_keys函数:

        $keys = array_keys($arr);
        

        它返回数组中所有键的数组。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2021-04-09
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多