пак малко за масиви :(

smile4o

Registered
Написах си една функция, която създава масив и го пълни с числа подадени от мен:

function crArr($val) {
$bre = array();
for($i = 0; $i < $val; $i++) {
$bre[] = $i+1;
}
return $bre;
}
$f = crArr(10);

След, което си пиша друга функция, която обхожда масива и умножава всяка стойност с число пак подадено от мен:

$bla = 7;
function multiply($val, $num) {
$count = count($val);
for($i = 0; $i < $count; $i++) {
$val[$i] = $val[$i] * $num;
}
return $val;
}

$res = multiply($f, $bla);
print_r($res);

и всичко работи, НО
Сега трябва втората функция, да я видоизменя така че резултатът да пълни друг масив, а не този. И ето тук започвам да гледам умно. Как да напълня нов масив с резултатите от 1-я?
 
Нещо неразбирам как така нов масив?
Ти може да си направиш
$res = multiply($f, $bla);
print_r($res);
$res2 = multiply($f, $bla);
print_r($res2);

така стават 2 еднакви масива ама какъв е смисъла.
Нека изясня от първата функция създаваш масив с числа от 1 до 10 така.
С 2рата функцията умножаваш тези числа с определена стойност , умножените числа стават в нов масив.

И сега вече имаш 2 различни масива:
$f - съдържа числата от 1 до 10
$res - съдържа умножените числа

Та кажи какво точно искаш ,че немога да ти схвана мисълта?
И това дето си го направил става с 2 пъти по малко код ,но това после :)
 
bafitu, да прав си. Но изискването е масива който се съдържа в $res, да пълни друг масив, който не е създаден . И всичко това да е във втората функция.
 
Добре де с какво да го пълни този друг масив?
Ако ще е с нещо друго освен да умножава ще трябва друга функция неможе да искаш 1 функция да върши 2 различни неща..
Кажи какво да има в този 3ти масив? каква ти е целта ?
 
Това, принципно са просто задачи, които ми измисля един колега, единствено с цел обучение. Нали уж започвам и аз сериозно да го уча PHP-то. М/у другото май намерих едно решение, дано да е правилно:


function multiply($val, $num) {
$n = array();
$count = count($val);
for($i = 0; $i < $count; $i++) {
$n[] = $val[$i] * $num;
}
return $n;
}
$res = multiply($f, $bla);
print_r($res);


Идеята е първия масив, който има някакви числа в него, да умножава елемнтите си по друго число и да пълни втория масив.
 
Ама ти май не си много наясно :)
Прочети това горе долу да ти се изясни:
http://web-tourist.net/login/login/view.php?st=899

В случая само си променил името на променливата.

Функцията си връща масив та този масив може да се предаде на 50 променливи ако искаш ето пример:

$f = crArr(10); <- това е масив с оригиналните числа
$res = multiply($f, $bla); <-това е масив с умножени числа
$neshtosi = multiply($f, $bla); <- и това е също масив

Вече имаш 3 масива, 2 с еднакви стойности вътре , но по име се различават и 1 друг.

п.п. ето ти по кратко за първата функция:
function crArr($val) {
$bre = range(1,$val);
return $bre;
}
$f = crArr(10);

Трябав да си изясниш понятията масив и променлива и тем подобни.
Погледни урока дето ти дадах горе.
 
Да, аз от този урок почнах :)
И сега май пак на него се връщам. И да, прав си не са ми много ясни нещата. :(
 

Back
Горе