配列を複数の変数に分割するための PHP 抽出関数_PHP チュートリアル

WBOY
リリース: 2016-07-21 15:36:40
オリジナル
1438 人が閲覧しました

extract() 関数の構文:
int extract( array $var_array [, int $extract_type = EXTR_OVERWRITE [, string $prefix ]] )
関数: extract() 関数は、連想配列からキーの各ペアを抽出します (数値インデックス配列) と value を使用すると、key を変数名とし、value を対応する値として使用して、新しい変数の複数のセットを生成します。

コードをコピーします コードは次のとおりです:

$size = "old size" //最後のサイズ変数の値に注意してください。
$a = array(
"色" => "赤",
"サイズ" => "XXL",
"価格" => "53"); color = $color
";
echo "size = $size
";
echo "price = $price
";
?>


結果は次のようになります:

color = red
size = XXL
price = 53

上記の例を通じて、$size の値が以前の「古いサイズ」ではなく XXL であることがわかりました。これは、デフォルトで、配列が既存の変数と競合する場合、元の変数は上書きされます。

抽出関数の最後の 2 つのオプションのパラメーターを引き続き紹介します。

2 番目のパラメータ $extract_type は、競合が発生した場合の処理​​方法を制御するために使用されます。 可能な値は次のとおりです:

EXTR_OVERWRITE: 競合が発生した場合に既存の変数を上書きします。デフォルト値。
EXTR_SKIP: 既存の変数を上書きしません。つまり、キーと値のペアの変数を生成しません。
EXTR_PREFIX_SAME: 競合が発生した場合、生成された新しい変数名にプレフィックス文字列が追加され、その値は 3 番目のパラメーターで指定されます。
EXTR_PREFIX_ALL: 生成されたすべての新しい変数名にプレフィックス文字列を追加します。その値は 3 番目のパラメーターで指定されます。
EXTR_PREFIX_INVALID: key の値を変数名に変換することが無効な場合 (たとえば、key の最初の文字が数字であり、変数名では最初の文字が数字であってはいけない必要がある)、プレフィックス文字列を変数名とその値は最初の文字によって決まります。 3 つのパラメーターが指定されます。
EXTR_IF_EXISTS: 以前に存在した変数のみを取り出します。
EXTR_PREFIX_IF_EXISTS: EXTR_IF_EXISTS で取得した変数は、変数名にプレフィックス文字列を追加し、その値を 3 番目のパラメータで指定します。
EXTR_REFS: 参照によって変数を抽出し、抽出された変数の値の変更が元の配列の値に影響を与えることを示します。

注: 変数名にプレフィックス文字列を追加する場合、新しい変数名は PREFIXkey ではなく PREFIX_key になります。



コードをコピー コードは次のとおりです:
$a = array(
"color" => "red",
"size" => "XXL",
"価格 " => "53");
extract($a,EXTR_PREFIX_ALL,"SC");
echo "サイズ = $SC_size
;";
echo "price = $SC_price
";
extract($a,EXTR_REFS);
$color="green";
echo $a['color']; // の値を表示します。元の配列
? >


結果は次のようになります:
色 = 赤 サイズ = XXL
価格 = 53



http://www.bkjia.com/PHPjc/322122.html

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/322122.html技術記事 extract() 関数の構文: int extract( array $var_array [, int $extract_type = EXTR_OVERWRITE [, string $prefix ]] ) 関数: extract() 関数は連想配列を抽出します (数値インデックス配列の場合は何もありません...)
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート