我試圖提取混合關聯數組,如:PHP - 提取關聯數組
<pre>
<?php
bar();
function bar(){
$apple = 6;
$ball = 2;
$cat = 3;
$data = ["apple" => 1, $ball,$cat];
foo($data);
}
function foo($data){
extract($data);
echo "<br />apple:" . $apple;
echo "<br />ball:" . $ball;
echo "<br />cat:" . $cat;
}
?>
</pre>
的$data
數組只能是數字,只有聯想或兩者兼而有之。如果數組的元素遺漏了一個索引,它應該與變量相同。
@Andrew,編號數組有時只能關聯或數字。他們混合到任何級別。 – tika
'$ ball'和'$ cat'被定義在範圍內(提取之前),因此它們仍然存在。這就是爲什麼他們不起作用。運行提取時,數組沒有索引要分配給變量。 。 – Twisty
RTFM - >提取使用鍵作爲變量名創建變量,並將值作爲... erm ...值。在你的第一個代碼片段中,'$ cat'和'$ ball'與數組中的鍵'0'和'1'具有相同的值,但'extract'實際上是跳過數字索引 –