亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

從字符串創建數組 - PHP

從字符串創建數組 - PHP

PHP
回首憶惘然 2023-09-22 16:57:13
我有一個字符串,我需要從中獲取關聯數組。我可以自由地將字符串修改為看起來像數組,但我仍然無法從中獲取數組。我嘗試過explode、json等。 $string = $row->id . ',' . $row->title . ',';// 1,Home,3,Services,6,Service 1,7,Service 2,2,Products例子    public function Menu($parent = null) {$query = $this->menuManager->getPublicMenus()->where('parent', null)->order('sort_order');        if ($this->menuManager->getPublicMenus()->count() > 0) {            $menu = '';            foreach ($query as $row) {                $menu .= $row->id . ',' . $row->title . ',';                $menu .= $this->Menu($row->id);            }            return $menu;        }    }我需要輸出:array1 => "Home"3 => "Services"6 => "Service 1"7 => "Service 2"2 => "Products"
查看完整描述

1 回答

?
喵喔喔

TA貢獻1735條經驗 獲得超5個贊

如果您必須使用該字符串。


$input = '1,Home,3,Services,6,Service 1,7,Service 2,2,Products';


$keysAndValues = explode(',', $input);


$result = [];

$count = count($keysAndValues);

for ($i = 0; $i < $count; $i+=2) {

    $key = $keysAndValues[$i];

    $value = $keysAndValues[$i+1];

    

    $result[$key] = $value;

}

工作示例。

輸出

array(5) {

    [1]=>

    string(4) "Home"

    [3]=>

    string(8) "Services"

    [6]=>

    string(9) "Service 1"

    [7]=>

    string(9) "Service 2"

    [2]=>

    string(8) "Products"

}

我看到你添加了一個例子。要獲取數組,在 Menu 方法中執行此操作要干凈得多:


$menu = [];

foreach ($query as $row) {

    $menu[$row->id] = [

        'title' => $row->title,

        'children' => $this->Menu($row->id)

    ];

}

return $menu;


查看完整回答
反對 回復 2023-09-22
  • 1 回答
  • 0 關注
  • 129 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號