|
[تحسين] اخذ قيمة واحدة من دالة ترجع مصفوفة فى سطر واحد
ان كنت سألت نفسك يوما ما ان كنت تستطيع استعمال هذه الصيغة:
$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;
}
|
الموقع الآن فى الفترة التجريبية وهذا الجزء غير كامل وجارى العمل عليه، للراغبين في المساعدة برجاء التقدم

