لديك حساب بالفعل؟ دخول
دخول  سجل الأن 
الموقع الآن فى الفترة التجريبية وهذا الجزء غير كامل وجارى العمل عليه، للراغبين في المساعدة برجاء التقدم
[تحسين] اخذ قيمة واحدة من دالة ترجع مصفوفة فى سطر واحد
ان كنت سألت نفسك يوما ما ان كنت تستطيع استعمال هذه الصيغة:
$a = function_that_returns_an_array()['some_index']['some_other_index'] ;
الاجابة بكل بساطة. من رابع المستحيلات ولكن يمكنك استخدام هذه الدالة.

ولكن يمكنك استعمال:

i( $array, $index [, $index2, $index3 ...] )

وهى تستخدم بدلا من تعريف مخرجات الدالة اولا ثم اخد القيمة المرادة

$tmp = some_function_that_returns_an_array() ;
$value = $tmp['some_index']['some_other_index'] ;
يمكنك عمل هذا فى سطر واحد كالتالى
$value = i( some_function_that_returns_an_array(), 'some_index', 'some_other_index' ) ;
ملحوظة: هذه الطريقة اقل سرعة من الاساسية لذلك يجب استعمالها فى هذه الحالة فقط
function i(){
    $args = func_get_args();
    $array = $args[0];
    $indexes = $args;
    unset($indexes[0]);
    foreach( $indexes as $index ){
        if( (! is_array($array)) || (! array_key_exists( $index, $array )) ){
            throw new Exception("Array index out of bounds.Parameters:".print_r($args,true));           
        }
        $array = $array[$index];
    }
    return $array;       
}