Využij akce až 30 % zdarma při nákupu e-learningu. Více informací. Zároveň je tento týden sleva až 80 % na e-learning týkající se C# .NET
Hledáme nového kolegu do redakce - 100% home office, 100% flexibilní pracovní doba. Více informací.
discount week 30 halloween
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í
+1 bodů
Ř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
Tento výukový obsah pomáhají rozvíjet následující firmy, které dost možná hledají právě tebe!
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.