【发布时间】:2020-09-07 15:55:20
【问题描述】:
这里,我有一个数组。
$arr = array(
"action: Added; amount: 1; code: RNA1; name: Mens Organic T-shirt; colour: White; size: XL",
"action: Subtracted; amount: 7; code: RNC1; name: Kids Basic T-shirt; colour: Denim Blue; size: 3-4y",
"action: Added; amount: 20; code: RNV1; name: Gift Voucher; style: Mens; value: £20",
我已经采取了一些步骤来尝试通过执行以下操作将此数组转换为密钥对数组:
// Split the array into strings.
$imploded = implode(" ",$arr);
//echo $imploded;
// Seperate the strings by the ";" character.
$exploded = explode("; ",$imploded);
//print_r($exploded);
// The elements are now in an array.
// Here I need to separate them into key value pairs.
我使用 $explode 函数将 $imploded 字符串用“;”字符分割,以使数据更易于处理。这是打印 $exploded 数组的结果:
Array ( [0] => action: Added [1] => quantity: 1 [2] => item_code: RNA1 [3] => product_name: Mens Organic T-shirt [4] => colour: White [5] => size: XL action: Subtracted [6] => quantity: 7 [7] => item_code: RNC1 [8] => product_name: Kids Basic T-shirt [9] => colour: Denim Blue [10] => size: 3-4y action: Added [11] => quantity: 20 [12] => item_code: RNV1 [13] => product_name: Gift Voucher [14] => style: Mens [15] => value: £20 )
我尝试过使用 array_combine 函数,但我认为它不起作用,因为键和对位于相同的元素中。
$result = array(
array_combine($exploded[0], $exploded[1]));
//print_r($result);
我可能会尝试使用“:”字符拆分元素,但我不确定我将如何去做。我对 PHP 也很陌生,所以我很感激一些简单的代码和解释:)
编辑:我希望生成的数组看起来像这样......
'action' => '',
'quantity' => '',
'item_code' => '',
'product_name' => '',
'colour' => '',
'size' => '',
【问题讨论】:
-
生成的数组应该是什么样的?
-
这与您似乎已接受答案的上一个问题How can I convert an array of strings into an associative array in PHP? 非常相似。你接受的答案有问题吗?
-
抱歉转贴,我转贴是因为我希望能对代码的功能与我对自己的代码的评论类似的一些解释。
-
究竟是什么的解释?
标签: php arrays string key-value