Autor Zpráva
Host
Profil *
Ahoj

Mám toto pole:
Array
(
[0] => Array
(
[0] => 1
[2] => 1
[4] => 1
)

[1] => Array
(
[1] => 1
[3] => 1
)

)

a nevim kolik bude mit celkem klicu.
Problem je v tom, ze vsechno hodnoty potrebuju sloucit a dat do jednoho vysledneho pole.
Dělal jsem to takhle:

$vysledky=pole nahore;

for($i=0;$i<=1;$i++):
$a=$vysledky[$i];
endfor;

print_r($a);

Vzdycky se mi to prepise.

Jak to sloučit? Díky moc
Kcko
Profil
$vysledky[] = $i;
Host
Profil *
Ne, takto to nejde..
bukaj
Profil
Host
V každé iteraci se $a přepíše současnou hodnotou pole. Tudíž pokud $a vypisuješ až za cyklem, zbyde v ní pouze poslední hodnota. Takhle to už vypíše každou hodnotu:
for($i=0;$i<=1;$i++):
    $a=$vysledky[$i];
    print_r($a);
endfor;


Jinak k procházení pole doporučuji užívat cyklu foreach. Protože v tomto případě by se nejednalo o projití pole, nýbrž o jen vypsání hodnot klíčů 0 a 1, což je jednodušší napsat rovnou (print_r($vysledky[0]); print_r($vysledky[1]); //stejný účinek a ke všemu kratší).

Problem je v tom, ze vsechno hodnoty potrebuju sloucit a dat do jednoho vysledneho pole.
A proč tedy hodnoty vypisuješ?

Jak to sloučit?
function sloucit(array $pole)
{
     $vysledne_pole = array();
     foreach ($pole as $prvek) {
         $vysledne_pole = array_merge($vysledne_pole, $prvek);
     }
     return $vysledne_pole;
}
$a = sloucit($vysledek);


A taky bych si, být tebou, pořádně prošel seriál o PHP na linuxsoftu, popř. další zdroje, které můžeš najít např. ve FAQ této sekce diskuse.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: