Java týden Java týden
Aprílový black friday tě nenechá v klidu! Až 80 % prémiového obsahu zdarma. Více informací
Pouze tento týden slevy až 80 % na programování v Javě

Diskuze: změna položky v poli

PHP PHP změna položky v poli American English version English version

Aktivity (1)
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
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.