|
|
|
|
|
для: kilogram
(28.04.2012 в 21:59)
| | Я так понял интерпретатор языка ПХП когда видит название переменной, а за ней скобки, подставляет значение этой переменной в название этой переменной со скобками,если значение этой переменной совпало с названием такой функции описаной где-то в коде. | |
|
|
|
|
|
|
|
для: kilogram
(28.04.2012 в 15:10)
| | Попробовал написать такой код, который вычисляет квдадрат числа.
function santa($n)
{
return $n*$n;
}
function balta($n)
{
return $n(5);
}
echo balta("santa");
echo '<br />';
|
Как-то странно так получилось, ради интереса написал santa в параметре функции и ошибок не выдало.
Это что, получается я передал всю функцию санта в функции балта?
В пхп разве если при вызове писать что-то в кавычках и оно совпадет с названием функции ранее где-то описаной в коде выше то передастся не строка ,а сама функция в качестве аргумента? | |
|
|
|
|
|
|
|
<?php
$mas = array(5,3,-1,4,2,-300,6,-500,-100);
function sos($a1,$a2)
{
return $a2 - $a1;
}
function dobavka(&$mas, $func){
sortirovka($mas, 0, count($mas)-1, $func);
}
function sortirovka(&$mas,$min,$max,$func){
$i = $min;
$j = $max;
$x = $mas[($min+$max)/2];
do{
while($func($mas[$i], $x)<0) ++$i;
while($func($mas[$j], $x)>0) --$j;
if($i<=$j){
$element = $mas[$i];
$mas[$i] = $mas[$j];
$mas[$j] = $element;
$i++; $j--;
}
}while($i<=$j);
if($min<$j) sortirovka($mas,$min,$j, $func); //начало с серединой
if($i<$max) sortirovka($mas,$i,$max, $func); // середина с концом
}
dobavka($mas, 'sos');
foreach($mas as $rez)
echo $rez.' '.' ';
?>
|
Смущает, как в переменную $func можно добавить круглые скобки и записать выражение?
while($func($mas[$i], $x)<0) ++$i;
while($func($mas[$j], $x)>0) --$j;
|
Что это означает? С функцией понимаю ,а вот с переменной, как она со скобками и внутри выражение? | |
|
|
|
|