【问题标题】:How to create Array with Key Value Pairs in PHP如何在 PHP 中创建具有键值对的数组
【发布时间】:2019-02-19 07:05:21
【问题描述】:

谁能帮我解决这个 PHP 问题?

我的代码:

for ($i=0; $i < count($respuestajson['options']); $i++) {
    foreach ($respuestajson['options'][$i] as $id => $nombre) {
        if($id == "label" || $id == "value"){
            $proyectosZP[$i][$id] = $nombre;
        }
    }
}

我目前的输出是:

array (size=2)
  0 => 
    array (size=2)
      'label' => 'CEV'
      'value' => '10100'
  1 => 
    array (size=2)
      'label' => 'CEX'
      'value' => '10004'

我需要这个输出:

array (size=2)
  'CEV' => '10100'
  'CEX' => '10004'

【问题讨论】:

  • 您需要向我们展示您的代码,否则我们无法帮助您,我们无法猜测您拥有什么。
  • 也显示您的输入..

标签: php foreach keyvaluepair


【解决方案1】:

只需在 foreach 中遍历你的数组并将它们组合起来

$input_array = array(
    array("label"=>"CEV",'value' => '10100'),array("label"=>"CEX",'value' => '10004')
    );

$new_array = array();
foreach($input_array as $elements)
{
    $new_array[$elements['label']]=$elements['value'];
}
print_r($new_array);

或来自您的代码:

for ($i=0; $i < count($respuestajson['options']); $i++) {   
            $proyectosZP[$respuestajson['options'][$i]['label']] = $respuestajson['options'][$i]['value'];
}

【讨论】:

    【解决方案2】:

    您正在测试密钥,但您可以直接访问它们:

    foreach ($respuestajson['options'] as $opt) {
        $proyectosZP[$opt['label']] = $opt['value'];
    }
    

    或者,从当前输出:

    $output = array_combine(array_column($input_array, 'label'),
                            array_column($input_array, 'value'));
    

    【讨论】:

      【解决方案3】:

      查看您的数据

      你应该只使用 $id 和 $nombre

          foreach ($respuestajson['options'] as $id => $nombre) {
               $proyectosZP[$id] =  $nombre;
          }
      

      【讨论】:

        猜你喜欢
        • 2010-11-11
        • 2020-03-12
        • 2015-08-22
        • 1970-01-01
        • 2017-09-22
        • 2016-07-29
        • 2013-01-18
        • 1970-01-01
        相关资源
        最近更新 更多