هل يمكننا تنفيذ وظيفة استخراج PHP في PHP مع Out باستخدام Zend API

StackOverflow https://stackoverflow.com/questions/2251386

سؤال

تستخرج وظيفة PHP المتغيرات إلى النطاق المحلي لوظيفة الاتصال. كيف يمكننا كتابة استخراج وظيفة PHP الخاصة بنا أيه الشيء نفسه؟

هل كانت مفيدة؟

المحلول

لا أعتقد أنه يمكنك القيام بذلك في Pure-PhP: لا يمكن للدالة الوصول إلى متغيرات المتصل.

هذا يبدو وكأنه نوع من الأشياء التي ستحتاجها لكتابة امتداد C لتطويرها - سيكون لديك المزيد من التحكم في المتغيرات الداخلية لمتغيرات PHP هناك.

(وأنا لا أرى حقًا لماذا تحاول القيام بذلك: لماذا لا تستخدم فقط extract وظيفة ؟ )

نصائح أخرى

PHPJS هي مكتبة JavaScript التي تحتوي على وظائف مثل PHP ، وهنا هي لها مقتطف وظيفة يمكنك الحصول على فكرة منها. بعد قولي هذا ، أتساءل لماذا تبحث عن وظيفتك الخاصة عندما توفر PHP بالفعل واحدة.

حسنًا ، إذا كان الأمر يتعلق فقط بالمرح ، فمن الممكن:

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

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

echo $a;
?>

ولكن بعض المشكلات - مثل التعارض مع بيانات $ ، اسم $ وقيمة $ ولا يمكنك لفها في وظيفة. لكن ممكن.

نعم هذا ممكن،

السبب في أنني فعلت هذا لأنني بحاجة إلى شيء أكثر من دالة الاستخراج التي يجب أن تقطع القيم أيضًا

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

أنا فقط أتعامل مع $ _get ، $ _post ، وأيضات أخرى مثل هذا على سبيل المثال $ _get ['username'] = 'JUSTNAJM' ؛ extractArray ($ _ get) ؛

ويمكنني الصدى فقط وسيطبع "Justnajm"

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top