検索
ホームページバックエンド開発PHPチュートリアルPHP 関数 extract() アプリケーションのスキルの簡単な分析_PHP チュートリアル
PHP 関数 extract() アプリケーションのスキルの簡単な分析_PHP チュートリアルJul 15, 2016 pm 01:35 PM
extractgetphppost要素関数できる応用のヒント抽出する比較する形状

たとえば、$_POST または $_GET の要素を簡単に抽出できます。フォームで送信されたコンテンツに 1 つずつ値を割り当てることはできません。次のコードを使用できます。 .html

  1. フォームアクション= "action.php"メソッド =「投稿」>
  2. 入力 タイプ= 「テキスト」 名前=「ユーザー名」>
  3. 入力 タイプ =「パスワード」 名前=「パスワード」 >
  4. inputtype=「送信」& gt;
  5. PHP 関数 extract(in action.php ) $_POST グローバル データのロックを解除します:
action.php

  1. フォーム アクション=」php。 「メソッド=「投稿」>
  2. 入力 type="テキスト"名前="ユーザー名">
  3. & lt; 入力 タイプ=「パスワード」 名前=「パスワード」 >
  4. input type="送信">

すごくないですか?便利?あはは、PHP マニュアルの PHP 関数 extract() の詳細な説明は次のとおりです:

extract
(PHP 4, PHP 5)

extract — 配列から変数を現在のシンボル テーブルにインポートします

手順

int extract (array $var_array [, int $extract_type [, string $prefix ]] )

PHP 関数 extract() は、配列から現​​在のシンボル テーブルに変数をインポートするために使用されます。連想配列 var_array を引数として受け入れ、キー名を変数名として、値を変数値として使用します。キーと値のペアごとに、extract_type パラメーターと prefix パラメーターの影響を受ける変数が現在のシンボル テーブルに作成されます。

注: バージョン 4.0.5 以降、この関数は抽出された変数の数を返します。

注: EXTR_IF_EXISTS と EXTR_PREFIX_IF_EXISTS はバージョン 4.2.0 で導入されました。

注: EXTR_REFS はバージョン 4.3.0 で導入されました。

PHP 関数 extract() は、各キー名をチェックして正当な変数名として使用できるかどうかを確認し、シンボル テーブル内の既存の変数名との競合もチェックします。不正なキー名、数値名、および競合するキー名の処理は、extract_type パラメータによって決定されます。次の値のいずれかを指定できます:

EXTR_OVERWRITE
競合がある場合は、既存の変数を上書きします。

EXTR_SKIP
競合がある場合、既存の変数は上書きされません。

EXTR_PREFIX_SAME
競合がある場合は、変数名の前に prefix を付けます。

EXTR_PREFIX_ALL
すべての変数名に接頭辞を追加します。 PHP 4.0.5 以降、これには数値インデックスの処理も含まれます。

EXTR_PREFIX_INVALID
不正な変数名または数値変数名のみに prefix を付けます。このタグはPHP 4.0.5で新たに追加されました。

EXTR_IF_EXISTS
現在のシンボル テーブルに既に存在する場合のみ、同じ名前の変数の値を上書きします。その他は加工しておりません。これは、一連の正当な変数が定義されており、$_REQUEST などの配列から値を抽出してこれらの変数を上書きする場合に使用できます。このタグはPHP 4.2.0で新たに追加されました。

EXTR_PREFIX_IF_EXISTS
現在のシンボルテーブルに同名の変数が存在する場合のみ、プレフィックスを付けた変数名が作成され、それ以外は処理されません。このタグはPHP 4.2.0で新たに追加されました。

EXTR_REFS
変数を参照として抽出します。これは、インポートされた変数が依然として var_array パラメーターの値を参照していることを強く示しています。このフラグは単独で使用することも、extract_type で OR を使用して他のフラグと組み合わせて使用​​することもできます。このタグはPHP 4.3.0で新たに追加されました。
extract_type が指定されていない場合は、EXTR_OVERWRITE が想定されます。

接頭辞は、extract_type の値が EXTR_PREFIX_SAME、EXTR_PREFIX_ALL、EXTR_PREFIX_INVALID、または EXTR_PREFIX_IF_EXISTS の場合にのみ必要であることに注意してください。プレフィックスを付加した結果が正当な変数名ではない場合、シンボルテーブルにはインポートされません。プレフィックスと配列キー名の間にアンダースコアが自動的に追加されます。

extract() は、シンボル テーブルに正常にインポートされた変数の数を返します。

警告

ユーザー入力 ($_GET,...) など、信頼できないデータに対して PHP 関数 extract() を使用しないでください。たとえば、register_globals に依存する古いコードを一時的に実行するためにこれを行う場合は、必ず EXTR_SKIP などの上書きされない extract_type 値を使用し、抽出は php の variables_order で定義された順序で行う必要があることに注意してください。イニ。

PHP 関数 extract() の使用法の 1 つは、wddx_deserialize() によって返された結合された配列の内容をシンボル テーブル変数にインポートすることです。

Example#1 extract() example

<ol class="dp-xml">
<li class="alt"><span><span class="tag"><span> ?php  </span></span></span></li>
<li><span>/* 假定 $var_array 是 wddx_<br>deserialize 返回的数组*/  </span></li>
<li class="alt">
<span>$</span><span class="attribute">size</span><span> = “large”;  </span>
</li>
<li>
<span>$</span><span class="attribute">var_array</span><span> = array(”color” =</span><span class="tag">></span><span> “blue”,  </span>
</li>
<li class="alt">
<span>“size” =</span><span class="tag">></span><span> “medium”,  </span>
</li>
<li>
<span>“shape” =</span><span class="tag">></span><span> “sphere”);  </span>
</li>
<li class="alt"><span>extract($var_array, EXTR_<br>PREFIX_SAME, “wddx”);  </span></li>
<li><span>echo “$color, $size, $shape, $wddx_sizen”;  </span></li>
<li class="alt">
<span class="tag">?></span><span> </span>
</li>
</ol>

上記の例は出力します:

blue、large、sphere、medium

$size は、EXTR_PREFIX_SAME が指定されているためオーバーライドされず、これにより $wddx_size が確立されます。 EXTR_SKIP が指定されている場合、$wddx_size も作成されません。 EXTR_OVERWRITE は $size の値を「medium」にし、EXTR_PREFIX_ALL は新しい変数 $wddx_color、$wddx_size、$wddx_shape を作成します。

PHP 関数 extract() は連想配列を使用する必要があります。EXTR_PREFIX_ALL または EXTR_PREFIX_INVALID が使用されない限り、数値インデックス付き配列は結果を生成しません。


www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/445936.html技術記事たとえば、$_POST や $_GET の要素を簡単に抽出できます。フォームで送信された内容に 1 つずつ値を割り当てることはできません。次のコードを直接使用できます: form.html form action = action.. .
声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
php怎么把负数转为正整数php怎么把负数转为正整数Apr 19, 2022 pm 08:59 PM

php把负数转为正整数的方法:1、使用abs()函数将负数转为正数,使用intval()函数对正数取整,转为正整数,语法“intval(abs($number))”;2、利用“~”位运算符将负数取反加一,语法“~$number + 1”。

php怎么实现几秒后执行一个函数php怎么实现几秒后执行一个函数Apr 24, 2022 pm 01:12 PM

实现方法:1、使用“sleep(延迟秒数)”语句,可延迟执行函数若干秒;2、使用“time_nanosleep(延迟秒数,延迟纳秒数)”语句,可延迟执行函数若干秒和纳秒;3、使用“time_sleep_until(time()+7)”语句。

php怎么除以100保留两位小数php怎么除以100保留两位小数Apr 22, 2022 pm 06:23 PM

php除以100保留两位小数的方法:1、利用“/”运算符进行除法运算,语法“数值 / 100”;2、使用“number_format(除法结果, 2)”或“sprintf("%.2f",除法结果)”语句进行四舍五入的处理值,并保留两位小数。

php怎么根据年月日判断是一年的第几天php怎么根据年月日判断是一年的第几天Apr 22, 2022 pm 05:02 PM

判断方法:1、使用“strtotime("年-月-日")”语句将给定的年月日转换为时间戳格式;2、用“date("z",时间戳)+1”语句计算指定时间戳是一年的第几天。date()返回的天数是从0开始计算的,因此真实天数需要在此基础上加1。

php怎么判断有没有小数点php怎么判断有没有小数点Apr 20, 2022 pm 08:12 PM

php判断有没有小数点的方法:1、使用“strpos(数字字符串,'.')”语法,如果返回小数点在字符串中第一次出现的位置,则有小数点;2、使用“strrpos(数字字符串,'.')”语句,如果返回小数点在字符串中最后一次出现的位置,则有。

php怎么替换nbsp空格符php怎么替换nbsp空格符Apr 24, 2022 pm 02:55 PM

方法:1、用“str_replace("&nbsp;","其他字符",$str)”语句,可将nbsp符替换为其他字符;2、用“preg_replace("/(\s|\&nbsp\;||\xc2\xa0)/","其他字符",$str)”语句。

php怎么设置implode没有分隔符php怎么设置implode没有分隔符Apr 18, 2022 pm 05:39 PM

在PHP中,可以利用implode()函数的第一个参数来设置没有分隔符,该函数的第一个参数用于规定数组元素之间放置的内容,默认是空字符串,也可将第一个参数设置为空,语法为“implode(数组)”或者“implode("",数组)”。

php字符串有没有下标php字符串有没有下标Apr 24, 2022 am 11:49 AM

php字符串有下标。在PHP中,下标不仅可以应用于数组和对象,还可应用于字符串,利用字符串的下标和中括号“[]”可以访问指定索引位置的字符,并对该字符进行读写,语法“字符串名[下标值]”;字符串的下标值(索引值)只能是整数类型,起始值为0。

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

SublimeText3 Linux 新バージョン

SublimeText3 Linux 新バージョン

SublimeText3 Linux 最新バージョン

EditPlus 中国語クラック版

EditPlus 中国語クラック版

サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

Dreamweaver Mac版

Dreamweaver Mac版

ビジュアル Web 開発ツール