Autor Zpráva
stibto
Profil *
Ahoj, chtěl bych se zeptat, zda byste mi neporadili jak docílit toho, že když má daný string 180 znaků, tak ho rozdělit na dva. Rozseknout ho v tom bodě, kde je 180 a zbytek nahrát buď do další proměnný nebo to rozdělit do pole.

Díky moc


*více jak 180 znaků
Majkl578
Profil
str_split
Keeehi
Profil
$pole = str_split($vstup, 180);
stibto
Profil *
Skvělý, díky kluci.

A když mám tedy toto:
if(strlen($text) >= 180) {
    $pole = str_split($text, 180);
    print_r($pole);

Tak bych potřeboval spouštět určitou funkci pro všechny položky pole.
Tzv. Když má pole 4 položky, tak aby funkcí projelo $pole[0], $pole[1], $pole[2], $pole[3].
Toto by se řešilo cyklusem?

Díky moc


Potřebuji to dynamicky. Né vždy má pole právě 4 položky, ale pouze jenom 2 nebo 3...
Kcko
Profil
stibto:
Bud cyklem nebo přes implode
Alphard
Profil
Česky se říká cyklem.
A ano, projít cyklem, nebo použít např. array_map(), array_walk() záleží na konkrétním účelu.

[#5] Nezdá se mi, že by stibto chtěl spojovat, ale možná ho jen nechápu.
stibto
Profil *
    for($p = 1; count($pole) <= $p; $p++) {
        mojefunkce($pole[$p]);
    }

Může toto fungovat?
Keeehi
Profil
Skoro
for ( $p = 0 ; count($pole) > $p ; $p++) {
- pole se indexují od 0, pokud to byl záměr, změň si to zpátky. Dost často se používá $i, ne $p, ale není to nutné podmínka.
stibto
Profil *
Keeehi:
No jo, pravda.. :-)
Už všechno funguje tak, jak jsem potřeboval.

Díky moc za rychlé rady i v tuto dobu. :-)
Majkl578
Profil
For nicméně není jediná (a zde ani nejlepší) možnost, vhodnější je foreach, v tvém případě možná i array_walk, zmíněné Alphardem, nebo array_map.

$pole = str_split($vstup, 180);

foreach ($pole as $part) {
    mojefunkce($part);
}

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: