質問

PHPの抽出関数は、呼び出し関数のローカル範囲に変数を追加します。同じことをする独自のPHP関数抽出物をどのように書くことができますか?

役に立ちましたか?

解決

Pure-PHPでそれを行うことはできないと思います。関数は発信者の変数にアクセスできません。

これは、開発するためにc拡張子を書き込むために必要なもののように見えます。そこにあるPHP変数の内部をより制御できるようになります。

(そして、私はあなたがそれをしようとしている理由を本当に見ていません:なぜ既存のものを使用しないのですか extract 関数 ? ))

他のヒント

phpjs PHPの機能として機能を含むJavaScriptライブラリです。 エキス 関数からアイデアを得ることができます。そうは言っても、PHPがすでにそれを提供しているのに、なぜあなた自身の機能を探しているのだろうと思います。

わかりました、それがそれを楽しむためだけの場合、それは可能です:

<?php
$data=array('a' => 1, 'b' => 2);

foreach ($data as $name => $value) {
    ${$name} = $value;
}

echo $a;
?>

しかし、いくつかの問題 - $ data、$ name、$ valueとの競合など、関数に包むことはできません。しかし、可能です。

はい、それは可能です、

抽出関数からもっと何かを必要としているので、値もトリミングする必要があるためにこれをした理由

function extractArray($ar) {
        if(count($ar)>=1) {
            foreach($ar as $k=>$v) {
                $GLOBALS[$k] = (is_array($v)?$v:trim($v));
            }
        }
}

私は$ _get、$ _post、およびeg $ _get ['username'] = 'justnajm'のようなアレイをpas pasだけpasします。 ExtractArray($ _ get);

そして、私はただエコーすることができ、それは「justnajm」を印刷します

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top