第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

在 PHP 中如何將字符串?dāng)?shù)組轉(zhuǎn)換為關(guān)聯(lián)數(shù)組?

在 PHP 中如何將字符串?dāng)?shù)組轉(zhuǎn)換為關(guān)聯(lián)數(shù)組?

PHP
牧羊人nacy 2023-12-15 15:22:57
我目前有一個(gè)包含三個(gè)字符串的數(shù)組,我的目標(biāo)是將數(shù)組中的這三個(gè)字符串轉(zhuǎn)換為單獨(dú)的關(guān)聯(lián)數(shù)組。這是數(shù)組:$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",我想讓關(guān)聯(lián)數(shù)組的鍵是操作、數(shù)量、項(xiàng)目代碼等,首先我想我應(yīng)該嘗試將數(shù)組的內(nèi)容轉(zhuǎn)換為字符串,以使其更易于管理。// Convert $arr to a string.$imploded = implode(": ",$arr);//echo $imploaded;$str = $imploded;$results = preg_split('/: [;,]/', $str);print_r($results);理想情況下,我希望數(shù)組看起來(lái)像這樣。我對(duì) PHP 很陌生,所以任何幫助和建議將不勝感激。array(    'action'    =>   '',    'amount'    =>   '',    'code'  =>   '',    'name'  =>   '',    'colour'    =>   '',    'size'      =>   '',);
查看完整描述

4 回答

?
Cats萌萌

TA貢獻(xiàn)1805條經(jīng)驗(yàn) 獲得超9個(gè)贊

這可能是您所需要的:


<?php


$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"

);

? ??



foreach ($arr as $string) {

? ?//Build array

? ?preg_match_all("/ [ ]?([^:]+): ([^;]+)[ ;]? /x", $string, $p);

? ?$array = array_combine($p[1], $p[2]);


? ?//Print it or do something else with it

? ? print_r($array);

}

https://3v4l.org/0cnhZ

查看完整回答
反對(duì) 回復(fù) 2023-12-15
?
守候你守候我

TA貢獻(xiàn)1802條經(jīng)驗(yàn) 獲得超10個(gè)贊

很簡(jiǎn)單:


$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",

);

  

$data = [];

foreach ($arr as $line) {

    $newItem = [];

    foreach (explode(';', $line) as $item) {

        $parts = explode(':', $item);

        $newItem[trim($parts[0])] = trim($parts[1]);

    }

    $data[] = $newItem;

}


print_r($data);

在此處撥動(dòng)。


查看完整回答
反對(duì) 回復(fù) 2023-12-15
?
眼眸繁星

TA貢獻(xiàn)1873條經(jīng)驗(yàn) 獲得超9個(gè)贊

您可以使用 :


$tempArray = array();


foreach($arr as $data){

    $dataExplode = explode(';', $data);

      $temp = array();

    foreach($dataExplode as $key => $child){

              $childExplode = explode(':', $child);

              $temp[$childExplode[0]] = $childExplode[1];

    }

      array_push($tempArray, $temp);

}


print_r($tempArray); //to print array collection

您將獲得單獨(dú)的集合array()


查看完整回答
反對(duì) 回復(fù) 2023-12-15
?
繁華開滿天機(jī)

TA貢獻(xiàn)1816條經(jīng)驗(yàn) 獲得超4個(gè)贊

只是為了好玩,還有一種方法可以做到這一點(diǎn):


$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",

);


$result = array_map(function($line) {

    return array_combine(...array_map(null, ...array_chunk(preg_split('/[:;]\s+/', $line), 2)));


}, $arr);


print_r($result);

基本上,我們用兩個(gè)可能的分隔符 : 或 ; 后跟空格來(lái)分割該行。


然后 array_chunk 函數(shù)將鍵和值分組在一起,我們?yōu)槊恳恍械玫饺缦滤镜膬?nèi)容:


        Array

        (

            [0] => Array

                (

                    [0] => action

                    [1] => Added

                )


            [1] => Array

                (

                    [0] => amount

                    [1] => 1

                )

* * *

通過(guò)擴(kuò)展和映射上面的數(shù)組,我們得到它的旋轉(zhuǎn)版本,如下所示:


Array

        (

            [0] => Array

                (

                    [0] => action

                    [1] => amount

* * *

                )


            [1] => Array

                (

                    [0] => Added

                    [1] => 1

* * *

                )

        )

我們現(xiàn)在可以擴(kuò)展這個(gè)數(shù)組并將其傳遞給array_combine函數(shù),這樣我們就有了一個(gè)很好的關(guān)聯(lián)數(shù)組,其中填充了所需的鍵和值。


然后我們映射所有的線,這樣我們就得到了格式良好的結(jié)果。

這是最后的小提琴。


查看完整回答
反對(duì) 回復(fù) 2023-12-15
  • 4 回答
  • 0 關(guān)注
  • 319 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)