【问题标题】:How to have a simple array without key from an array key=>value?如何从数组键=>值中获得一个没有键的简单数组?
【发布时间】:2018-08-29 04:08:34
【问题描述】:

我有一个这样的数组: array("Peter"=>"35", "Ben"=>"37", "Joe"=>"43"); 并且只想获取我的值,例如这里:

simpleTab=array("35","37","43");

或者像这样,我最好得到一个列表:

simpleList=["35";"37";"43"]

我正在创建一个函数,因为我需要多次使用它,所以这里是:

$simpleArray=array(); //don't know if this should be array, i'd like to have a list

foreach($valueAssoc as $key => $value{//array_push($simpleArray,$value);//NO it returns an array with keys 0 , 1 , etc
    //$simpleArray[]=$value; //same ! I don't want any keys

    //I want only an array without any index or key "tableau indexé sans clef"
    echo $value;
    //would like to have some method like this :
    $simpleArray.add($value);//to add value in my list -> can't find the php method

【问题讨论】:

  • 我觉得您对 PHP 数组有些误解。您的 array_push$simpleArray[] 示例都会生成您正在寻找的确切数组。 PHP 没有没有任何键的数组的概念 - 您将始终拥有默认的从零开始的数字。
  • 你得到你的输出了吗?

标签: php arrays list key


【解决方案1】:

无需为它创建函数,有一个内置函数array_values() 与所需的功能完全相同。

来自文档:

返回一个数组的所有值

例子:

$arr = array("Peter"=>"35", "Ben"=>"37", "Joe"=>"43");
print_r(array_values($arr)); // Array ( [0] => 35 [1] => 37 [2] => 43 )

【讨论】:

  • 我正在将数组转换为对象。我对数组进行了类型转换,但它返回索引位置,如 [0]:{“key”:“value”}。如何删除索引 [0]
【解决方案2】:

您正在寻找array_values,它将仅返回键/值对中的值。

$arr = array("Peter"=>"35", "Ben"=>"37", "Joe"=>"43");
$arrVals = array_values($arr);

其背后的代码与您预期的大致相同,foreach 循环遍历并将结果推送到新数组。

【讨论】:

    【解决方案3】:

    如果你想要没有 Key 你应该使用 array_values()json_encode()(这意味着转换为字符串) 像

    这样的数组
    $arr = array("Peter"=>"35", "Ben"=>"37", "Joe"=>"43");
    print_r(json_encode(array_values($arr)));
    

    输出:

    ["35","37","43"]
    

    【讨论】:

      【解决方案4】:

      试试这个 -

      $arrs = array("Peter"=>"35", "Ben"=>"37", "Joe"=>"43");
      $array = (array_values($arrs)); 
      
      echo "<pre>";
      print_r($array);
      

      【讨论】:

      • 下面给出的答案相同
      【解决方案5】:

      试试这个家伙...

      $Data_array = array("Peter"=>"35", "Ben"=>"37", "Joe"=>"43");
      
      $output_array = array();
      
      foreach($Data_array as $a) 
      {
              array_push($output_array,$a->{$key_name});
      }
      
      // Output will be :
      $output_array : ["35","37","43"]
      
      

      【讨论】:

      • 使用较少代码的预定义函数很好。您的回答很好,但最好使用函数。
      • 你错过了一个;在 array_push 线后面
      • 我改了...谢谢
      • 什么是 $key_name ?
      猜你喜欢
      • 2014-10-03
      • 2019-01-01
      • 1970-01-01
      • 2021-12-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-01-26
      • 1970-01-01
      相关资源
      最近更新 更多