Научи ме

Програмиране => PHP => Темата е започната от: neu в 28 Ноември 2010, 21:50:13

Титла: връщане на масив от функция
Публикувано от: neu в 28 Ноември 2010, 21:50:13
Нещо не ми се получава връщането на масив.
Ако може да ми помогнете защото ми връща грешка невалиден аргумент



//функцията връща масив

function return_array(){

    $proba_array = array( ' a ' , ' b ' );

    return $proba_array;
}


// пускам функцията в действие
return_array();


//проверявам масива
foreach($proba_array as $pr){

    echo $pr;
}




мерси предварително
Титла: Отг: връщане на масив от функция
Публикувано от: echeveria в 28 Ноември 2010, 21:58:06
foreach($proba_array as $pr)
$proba_array - това от къде се появи!
Титла: Отг: връщане на масив от функция
Публикувано от: neu в 28 Ноември 2010, 22:05:55
нали го връщам от функцията в началото

function return_array(){

    $proba_array = array( ' a ' , ' b ' );

    return $proba_array;
}
Титла: Отг: връщане на масив от функция
Публикувано от: echeveria в 28 Ноември 2010, 22:27:07
Аз ти задавам реторичен въпрос.
Функцията не ти връща името на масива вътре в нея а стойността.
Напоследък гледам зачестяват такова въпроси и проблема е че настина не са вникнали в същност на езика а просто си пишат.
foreach изобщо не знае за съществуването на $proba_array.
Титла: Отг: връщане на масив от функция
Публикувано от: neu в 28 Ноември 2010, 22:30:28
ами тогава как да предам масива на foreach като той не знае за неговото съществуване.
Титла: Отг: връщане на масив от функция
Публикувано от: echeveria в 28 Ноември 2010, 22:30:57
foreach(return_array() as $pr)
Титла: Отг: връщане на масив от функция
Публикувано от: Pitankata в 28 Ноември 2010, 22:32:12
еч не би ли по правилно така???
и ако не защо?

$proba_2_array = return_array();

foreach($proba_2_array as $pr)...
Титла: Отг: връщане на масив от функция
Публикувано от: neu в 28 Ноември 2010, 22:35:15
echeveria  голям си. Изобщо не се усетих за това.
Титла: Отг: връщане на масив от функция
Публикувано от: echeveria в 28 Ноември 2010, 22:49:59
Еми не смятам в случая че думата  " правилно "  е удачна. Твоя пример не искам да го конкурирам с моя :)
Въпросът беше да ми покажа кое връща стойността, нищо повече.
Все пак за спорта:
Ако трябва да създавам още една променлива която да носи информация за върнат резултат от функция, не ми се струва нито логично нито времеемко да правя специална променлива която да взима стойността.
Ся за заделяне на памет няма да говорим, ама ако няма да пиша 6 знака повече определено няма да го направя  :)
Да го кажем и така:
ако имаме така ли ще направиш

$obj = new  Class();

foreach($obj->return_array() as $pr)...


или

$obj = new  Class();

$obj1 = $obj->return_array();

foreach($obj1 as $pr)
Титла: Отг: връщане на масив от функция
Публикувано от: echeveria в 28 Ноември 2010, 22:53:21
neu написа:
Цитат
echeveria  голям си. Изобщо не се усетих за това.

И хич не съм голям - просто запомних едно нещо от първият ми ученик по С  " Компютрите не правят каквото искаме, а каквото им кажем " . Ако разбереш какво значи това няма да имаш големи проблеми, нито с никоя ОС, нито език, или софтуер.
Аз не съм програмист между другото!