PHP extract 將陣列拆分成多個變數的函式

2021-09-30 04:23:57 字數 1791 閱讀 9794

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...