Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Diskuze: změna položky v poli

Aktivity
Avatar
Jan Jedlička:19.12.2018 21:23

Ahoj lidi, můžete mi poradit, jak nejlépe nahrazovat určité jméno v poli za jiné a pak pole vypsat jako text? Zkusil jsem toto a funguje to, ale potřeboval bych poradit, zda je i jiná možnost. jaký máte na tohle názor? děkuji

Zkusil jsem:

<?php
$jmena = array('Homer', 'Marge', 'Lisa', 'Bart', 'Vočko');
        $zmena = array('Maggie');
        $s = implode(',', $jmena);
        echo str_replace($jmena[4], $zmena[0], 'Simpsonovi jsou: ' . $s . '.' );
 ?>

Chci docílit: Chtěl bych umět, jak rychle změnit jméno v poli za jiné.

 
Odpovědět
19.12.2018 21:23
Avatar
Peter Mlich
Člen
Avatar
Peter Mlich:20.12.2018 8:12

cyklem?

foreach ($pole as $key=>$value) {if ($value=='aaa') {$pole[$key] = 'bbb'; break;}}

http://php.net/…ef.array.php (ctrl+f replace - vyhledat slovo na strance)
array_search + array_replace | array_replace_re­cursive
array_search + array_splice

Akceptované řešení
+20 Zkušeností
+2,50 Kč
Řešení problému
 
Nahoru Odpovědět
20.12.2018 8:12
Avatar
Peter Mlich
Člen
Avatar
Peter Mlich:20.12.2018 8:15

Kdybys to mel opacne, jako key, dalo by se pouzit

$pole = array('aaa'=>'neco');
var_dump($pole);
$index  = 'aaa';
$index2 = 'bbb';
if (isset($pole[$index])) {$value = $pole[$index]; unset($pole[$index]); $pole[$index2] = $value;}
var_dump($pole);
Editováno 20.12.2018 8:16
 
Nahoru Odpovědět
20.12.2018 8:15
Avatar
Odpovídá na Peter Mlich
Jan Jedlička:20.12.2018 16:46

ahoj tahle moznost mi fungovala taky dobre, jen mám problém u výpisu hodnot. jak mám potom vypsat hodnoty? Kdyz pouziji echo $value tak mi to vypíse obsah v poli, ale bez mezer

 
Nahoru Odpovědět
20.12.2018 16:46
Avatar
Peter Mlich
Člen
Avatar
Peter Mlich:21.12.2018 7:43

1 - implode nebo $str.=$value." " a za cyklem substring (substr) a posl. mezeru odstranit a uplne na zaver echo
2 - array_keys a implode nebo opet $str

 
Nahoru Odpovědět
21.12.2018 7:43
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 5 zpráv z 5.