我使用GROUP_CONCAT從MySQL獲得查詢數據:從MySQL的GROUP_CONCAT創建PHP陣列
GROUP_CONCAT('id => ',assignments.userid,', assigned => ',assignments.assigned SEPARATOR ';') as assigneeids
,並試圖將其轉換爲PHP數組。
$assignees = explode(';', $ticket['assigneeids']);
foreach($assignees as $assignee) {
echo "$assignee\n"; // $assignee['id'] outputs 'i'
echo gettype($assignee) . '\n';
}
但不幸的是$assignee
變成了一個字符串而不是數組。輸出:
id => 1001, assigned => 1419648601
string
id => 1002, assigned => 1419649207
string
我在做什麼錯?
您是否試圖從生成SQL查詢的PHP代碼,並期待它作爲評價PHP?如果沒有'eval()',這將無法工作,但這不是解決這個問題的方法。你能否澄清一下,你的目標是生成包含子數組''array('id'=> 1234,'assigned'=> 987654)''的二維結構的數組? –
是的,這是我的目標。 –
你可以發佈源表的示例嗎?你可能只需要一個更簡單的查詢,只需要一個正常的讀取循環,但是需要一點數組操作。這是GROUP_CONCAT()更大的查詢的一部分,還是它是查詢返回的唯一東西? –