Рекурсивная функция
1.
Суицидник (31.10.2016 / 15:24)
Шалом ребзя !
Подскажите на какой строке я допустил ошибку в этом коде ? По идее все ок и в конце функция должна возвращать строку "Текст" и вывести ее, однако этого не происходит...
function one($a) {
if ($a > 0) {
echo '<h6>'.$a.'</h6>';
one($a-1); }
else {
return '<h5>Текст</h5>'; }
}
echo one(2);
2.
Вантуз-мен (31.10.2016 / 15:58)
Аллах акбар!
Насколько я знаю функция не может одновременно и вернуть и вывести результат
Может я не прав, в доках к сожалению не смог найти
<?php
function one($a)
{
if ($a > 0) {
echo '<h6>'.$a.'</h6>';
one($a-1);
} else {
echo '<h5>Текст</h5>';
}
}
echo one(5);
3.
Артур (31.10.2016 / 15:58)
нет не должна она возвращать строку "Текст"
Добавлено через 00:48 сек.
чейта не может? return не будет работать с echo? )
Добавлено через 06:35 сек.
А не работает у автора по той же причине, по которой не будет работать вот этот код:
function a(){
return 'Test';
}
function b(){
a();
}
echo b();
4.
Вантуз-мен (31.10.2016 / 16:15)
Башка, ага все правильно, поэтому надо так
function one($a)
{
if ($a > 0) {
echo '<h6>'.$a.'</h6>';
echo one($a-1);
} else {
return '<h5>Текст</h5>';
}
}
echo one(5);
5.
Артур (31.10.2016 / 16:19)
Ну или так:
function one($a)
{
if ($a > 0) {
echo '<h6>'.$a.'</h6>';
return one($a-1);
} else {
return '<h5>Текст</h5>';
}
}
echo one(5);
раз уж вызов через echo
6.
Суицидник (31.10.2016 / 23:07)
Vantuz, странно, но у меня все заработало когда я убрал
else...
function one($a) {
if ($a > 0) {
echo '<h6>'.$a.'</h6>';
one($a-1);
}
return '<h5>Текст !</h5>';
}
echo one(2);
7.
Суицидник (31.10.2016 / 23:30)
Ну, мне нужно "постоянное" возвращаемое значение функцией, а не одно значение из двух предложенных вариантов условия
if ... else (как в этом коде):
function one($a)
{
if ($a > 0) {
echo '<h6>'.$a.'</h6>';
return one($a-1);
} else {
return '<h5>Текст</h5>';
}
}
echo one(5);
8.
Артур (01.11.2016 / 00:25)
Зачем тебе вообще рекурсия?
9.
Суицидник (01.11.2016 / 01:22)
Башка, есть папка с html страничками. Ну, а мне надо из каждого .html файла вытащить 2 строчки
Content-Location: (полный путь к странице).
Content-Type: multipart/related; start=; boundary=----------fiaS3lGu8TfpYgfSAFk3eT
Content-Location: http://seo-ng.net/seo-knigi/more/jenciklopedija-poiskovogo-prodvizhenija.html
Subject: =?utf-8?Q?=D0=9A=D0=BD=D0=B8=D0=B3=D0=B0=20=D0=AD=D0=BD=D1=86=D0=B8=D0=BA=D0=BB=D0=BE=D0=BF=D0=B5=D0=B4=D0=B8=D1=8F=20=D0=BF=D0=BE=D0=B8=D1=81=D0=BA=D0=BE=D0=B2=D0=BE=D0=B3=D0=BE=20=D0=BF=D1=80=D0=BE=D0=B4=D0=B2=D0=B8=D0=B6=D0=B5=D0=BD=D0=B8=D1=8F.=20=D0=A1=D0=BA=D0=B0=D1=87=D0=B0=D1=82=D1=8C=20=D0=BA=D0=BD=D0=B8=D0=B3=D1=83=20=D0=B1=D0=B5=D1=81=D0=BF=D0=BB=D0=B0=D1=82=D0=BD=D0=BE=20"=D0=AD=D0=BD=D1=86=D0=B8=D0=BA=D0=BB=D0=BE=D0=BF=D0=B5=D0=B4=D0=B8=D1=8F=20=D0=BF=D0=BE=D0=B8=D1=81=D0=BA=D0=BE=D0=B2=D0=BE=D0=B3=D0=BE=20=D0=BF=D1=80=D0=BE=D0=B4=D0=B2=D0=B8=D0=B6=D0=B5=D0=BD=D0=B8=D1=8F"?=
MIME-Version: 1.0
------------fiaS3lGu8TfpYgfSAFk3eT
Content-Disposition: inline; filename=jenciklopedija-poiskovogo-prodvizhenija.html
Content-Type: text/html; charset=utf-8; name=jenciklopedija-poiskovogo-prodvizhenija.html
Content-ID:
Content-Location: http://seo-ng.net/seo-knigi/more/jenciklopedija-poiskovogo-prodvizhenija.html
Вот я и методом рекурсии хочу вытащить и первую строчку Content-Location и вторую. Так как в некоторых страницах полный путь к странице в первой строчке Content-Location отличается от второго Content-Location
10.
Артур (01.11.2016 / 01:44)
Возможно это тебе поможет:
function one($a){
if ($a > 0) {
return '<h6>' . $a . '</h6>' . one($a - 1);
} else {
return '<h5>Текст</h5>';
}
}
echo one(5);
Но я бы не использовал никаких рекурсий, сделал бы в лоб.
URL:
https://visavi.net/topics/43217