Jump to content
php.lv forumi

masīvs


Alnis

Recommended Posts

kā šo var dabūt gatavu bez GLOBAL

Array
(
    [0] => 5
    [1] => 4
    [2] => 3
    [3] => 2
    [4] => 1
)

Ar Globālo dabūju šādi:

$array;
fff(0);

print_r($array);


function fff($i){
	GlOBAL $array;
	$i++;
	
	if($i<5)  {
		fff($i);
	}
	$array[]=$i;
	return $array;
}

Kā bez globālā? šoreiz svarīgi ir, lai funkcija izsauc citu funkciju.

Link to comment
Share on other sites

Padodot listi kā funckijas parametru.

$array;
$array =fff(0, $arr);
print_r($array);

function fff($i,$array){
	$i++;
	
	if($i<5)  {
		fff($i, $array);
	}
	$array[]=$i;
	return $array;
}

iegūstu:

Array ( [0] => 1 )

rekursīvo daļu neatgriež...

Link to comment
Share on other sites

$array = array();
$i = 5;

while ($i > 0)
{
    $array[] = $i--;
}

print_r($array);
Bet ja nu šausmīgi vajag rekursīvu funkciju:

$array = array();

function buildArray($i, &$array)
{
    if ($i < 1)
    {
        return;
    }
    
    $array[] = $i--;
    buildArray($i, $array);
};

buildArray(5, $array);
print_r($array);
Šis ir tail-recursive, kam tehniski vajadzētu būt labākam, tiesa, es nezinu, vai PHP to optimizē. Edited by jurchiks
Link to comment
Share on other sites

Tas ir viss, ko tev vajadzēja, bet tu kaut kā iedomājies uzmočīt to kodu, kas ir pirmajā postā? Are you serious?

 

Cilvēks ir iesācējs, viņš nezināja esošu funkciju, kā arī nav praktizējies "google" spēkā. Viņš sāka domāt savu risinājumu, kaut kādā veidā panākt sev vēlamo effektu. Lai arī cik liela pornogrāfija tā nebūtu tomēr viņš mēģina, un Tev kā zinošākam pēc piemēra jau vajadzēja saprast, un piedāvāt gatavu risinājumu.

Don`t blame rookie.

Link to comment
Share on other sites

Tas ir viss, ko tev vajadzēja, bet tu kaut kā iedomājies uzmočīt to kodu, kas ir pirmajā postā? Are you serious?

 

1. Paldies bija domāts nevis ieteikumam izmantot var_dump() funkciju, bet gan jurchika atbildei 4.postā, konkrēti 2.piemērs, visa mana problēma bija tajā, ka nemācēju/nepielietoju šo simbolu "&"

2. Tas, kas ir rakstīts pirmajā postā ir maksimāli vienkāršots man nepiecišamais rezultāts, iespējams, ne visai veiksmīgs, bet tā kā risinājums tika rasts caur piedāvātajām atbildēm, uzskatu, ka rezultāts tika sasniegts;

3. tagad es sapratu, ka solved mārku ieliku nepareizajai atbildei, izlaboju.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...