【问题标题】:Multidimensional Array key reference多维数组键引用
【发布时间】:2013-07-26 13:25:57
【问题描述】:

我有一个多维数组,它给了我这个:

            [ShipmentServiceLevelCategory] => test
            [OrderTotal] => Array
                (
                    [Amount] => 11.11
                    [CurrencyCode] => GBP
                )

            [ShipServiceLevel] => Std UK Dom
            [MarketplaceId] => test
            [ShippingAddress] => Array
                (
                    [Phone] => 123213213213
                    [PostalCode] => TES T12
                    [Name] => Test
                    [CountryCode] => GB
                    [StateOrRegion] => Test
                    [AddressLine1] => Test
                    [City] => Test
                )

我想将此信息插入到我的数据库中,但我的列名与数组键不同,因此我试图创建另一个包含键映射的数组。到目前为止,这是我尝试过的:

$map = array('ShippingAddress['Phone']' => 'DEL_PHONE','ShippingAddress['PostalCode']'=> 'DEL_POSTCODE','ShippingAddress['Name']' => 'DEL_NAME');

但是这给了我一个语法错误,有人可以指出我在哪里出错了吗?

【问题讨论】:

  • 你的列名是什么?
  • 我的列名是 DEL_PHONE、DEL_POSTCODE 等

标签: php multidimensional-array


【解决方案1】:
$map = array('ShippingAddress' => array (
'Phone' => 'DEL_PHONE',
'PostalCode' => 'DEL_POSTCODE',
'Name' => 'DEL_NAME' 
) );

【讨论】:

  • 这可行,但这也意味着我必须为其他列引用 (OrderTotal) 创建一个不同的映射数组
【解决方案2】:

这是获取当前数组值并在不同数组中使用它们的正确语法

$new_array = array();

$new_array['DEL_PHONE'] = $current_array['ShippingAddress']['Phone'];

$new_array['DEL_POSTCODE'] = $current_array['ShippingAddress']['PostalCode'];

这应该让您对如何继续有一个好主意

【讨论】:

    【解决方案3】:

    你可以这样创建一个数组:

    define("DEL_PHONE", "col1");
    define("DEL_NAME", "col2");
    $attributes = array(
    DEL_PHONE => $data['ShippingAddress']['Phone'],
    DEL_NAME => $data['ShippingAddress']['PostalCode']
    );
    

    【讨论】:

      猜你喜欢
      • 2014-01-13
      • 2011-09-20
      • 1970-01-01
      • 2021-11-28
      • 2012-07-26
      • 2021-05-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多