extract()函式語法:
int extract( array $var_array [, int $extract_type = extr_overwrite [, string $prefix ]] )
功能: extract()函式提取關聯陣列(對數字索引陣列無效)每對key和value,生成以key為變數名、value為對應值的多組新變數。
複製** **如下:
<?php
$size = "old size"; //注意最後size變數的值。
$a = array(
"color" => "red",
"size" => "xxl",
"price" => "53");
extract($a);
echo "color = $color
";
echo "size = $size
";
echo "price = $price
";
?>
結果為:
color = red
size = xxl
price = 53
通過上例發現$size的值為xxl,而不是之前的」old size」,說明預設情況下當陣列中的key與已有的變數衝突時,將覆蓋原來的變數。
繼續介紹extract函式的後兩個可選引數。
第二個引數$extract_type是用來控制當發生衝突時的處理方法,可能的值為:
extr_overwrite : 衝突時覆蓋已有的變數,預設值。
extr_skip : 不覆蓋已有的變數,即不在生成該key和value對的變數。
extr_prefix_same : 衝突時,生成的新變數名加乙個字首字串,其值由第三個引數指定。
extr_prefix_all : 對所有生成的新變數名加乙個字首字串,其值由第三個引數指定。
extr_prefix_invalid : 對key的值換為變數名時無效時(如key第乙個字元為數字,而變數名要求第乙個字元不能為數字),在變數名加乙個字首字串,其值由第三個引數指定。
extr_if_exists : 只取出之前已經存在的變數。
extr_prefix_if_exists : 對extr_if_exists取得的變數,在其變數名加乙個字首字串,其值由第三個引數指定。
extr_refs : 以引用的方式提取變數,說明提取變數的值發生改變會影響原陣列的值。
注意:在變數名加字首字串時,新的變數名為 prefix_key,而不是prefixkey。
複製** **如下:
<?php
$a = array(
"color" => "red",
"size" => "xxl",
"price" => "53");
extract($a,extr_prefix_all,"sc");
echo "color = $sc_color
";
echo "size = $sc_size
";
echo "price = $sc_price
";
extract($a,extr_refs);
$color="green";
echo $a['color']; //檢視原陣列的值
?>
結果為:
color = red
size = xxl
price = 53
green
將字串拆分為陣列
根據符號分string s1 sdsad,3232 222.ssss string s2 s1.split foreach string s3 in s2 console.readkey 去除空字元 string s4 aa,bb,cc,dd,string s5 s4.split new char,...
字串拆分成陣列 842將陣列拆分成斐波那契數列
這個 星期六要考四級,真的是花36塊錢體驗下卷子。上次去華南理工比數學競賽,沒想到成功混了乙個一等獎 首先來看看題目 給定乙個數字字串 s,比如 s 123456579 我們可以將它分成斐波那契式的序列 123,456,579 形式上,斐波那契式序列是乙個非負整數列表 f,且滿足 0 f i 2 3...
data analysis 陣列拆分
陣列的拆分 hsplit拿刀切菜,刀刃豎著往下切。每一次下刀,刀是在橫向移動後切下去。split arr,切成幾分,axis 1 vsplit拿刀片魚片,刀刃橫著往右邊切。每一次下刀,刀是在縱向移動後切下去。split arr,片成幾層,axis 0 import numpy as np arr n...