Autor Zpráva
Dědeček
Profil *
Dobrý večer,

Zjistil jsem, že pokud chci přiřadit klíček k poli mám použít tuto funkci, ale jak toho docílit když potřebuji sloučit dvě pole. Mám tento kód.
$keys=array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 [5] => 6 [6] => 7 [7] => 8 [8] => 9 [9] => 10 [10] => 11 [11] => 12 );
$values=array ( [0] => A [1] => B [2] => C [3] => D [4] => A [5] => B [6] => C [7] => D [8] => A [9] => B [10] => C [11] => D );
$keys= array_keys($keys);
$values= array_values($values);
$array = array_combine($keys, $values); 

Výsledek je, ale bohužel tento.
Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 [5] => 6 [6] => 7 [7] => 8 [8] => 9 [9] => 10 [10] => 11 [11] => 12 )

Já, ale potřebuji tento.
Array ( [1] => A [2] => B [3] => C [4] => D [5] => A [6] => B [7] => C [8] => D [9] => A [10] => B [11] => C [12] => D )


A jak později získat string z klíču a hodnot? Pomocí funkce implode? Jak ale oddělit klíče a hodnoty. Abych měl ve výsledku
$keys=ABCDABCDABCD
$values=123456789101112


Děkuji za rady.
Dědeček
Profil *
Tak jsem se trochu posunul, mám nyní.
$keys= array('1a', '2a', '3a', '4a', '5a', '6a', '7a', '8a', '9a', '10a', '11a', '12a');
$values= array('A', 'B', 'C', 'D', 'A', 'B', 'C', 'D', 'A', 'B', 'C', 'D');
$array = array_combine($keys, $values);
print_r($array);

Jenže tohle vypíše
 Array ( ['1a', '2a', '3a', '4a', '5a', '6a', '7a', '8a', '9a', '10a', '11a', '12a'] => 'A', 'B', 'C', 'D', 'A', 'B', 'C', 'D', 'A', 'B', 'C', 'D' )

a já potřebuji
Array ( [1a] => A [2a] => B [3a] => C [4a] => D [5a] => A [6a] => B [7a] => C [8a] => D [9a] => A [10a] => B [11a] => C [12a] => D )
Alphard
Profil
Výše [#2] uvedený kód mi dle očekávání vypíše:
Array
(
    [1a] => A
    [2a] => B
    [3a] => C
    [4a] => D
    [5a] => A
    [6a] => B
    [7a] => C
    [8a] => D
    [9a] => A
    [10a] => B
    [11a] => C
    [12a] => D
)
Opravdu tam máte přesně to, co jste uvedl, nebo jste to nějak "zjednodušil pro fórum"?
Jake898
Profil
Já teda nevím co děláš špatně, ale já ten kód vzal odsud tak jak je, spustil a vypsalo mi to
Array ( [1a] => A [2a] => B [3a] => C [4a] => D [5a] => A [6a] => B [7a] => C [8a] => D [9a] => A [10a] => B [11a] => C [12a] => D )


edit: Sakra, pozdě. :)
Dědeček
Profil *
Je možné, že je chyba v tom že to tam dosazuju jako proměnné.
$keys='1a', '2a', '3a', '4a', '5a', '6a', '7a', '8a', '9a', '10a', '11a', '12a'
$keys= array($keys);

a ono to pak vytvoří
Array ( [0] => '1a', '2a', '3a', '4a', '5a', '6a', '7a', '8a', '9a', '10a', '11a', '12a' ) 

namísto
Array ('1a', '2a', '3a', '4a', '5a', '6a', '7a', '8a', '9a', '10a', '11a', '12a') 


Díky za pomoc, snad se někdo ozve :)
Dědeček
Profil *
Alphard:
Je to tak jak říkáš, je to zjednodušené. Prostě ta první možnost nefungovala, tak jsem si vygeneroval ty hodnoty jako text
'1a', '2a', '3a', '4a', '5a', '6a', '7a', '8a', '9a', '10a', '11a', '12a'


a to pak dosadil do array ve výsledku
array('1a', '2a', '3a', '4a', '5a', '6a', '7a', '8a', '9a', '10a', '11a', '12a');


jenže to asi takhle nepůjde :/
Alphard
Profil
Dědeček:
My nevíme, v čem je váš problém s tvorbou pole, array('x', 'y'); je prostě jeden z možných způsobů, jak vytvářet pole.
Z uvedených informací nevím, proč vymýšlíte něco jako $keys='1a', '2a', '3a'....
Dědeček
Profil *
Tak já to vemu od začátku :)
Mám dvě proměnné.
$pole_otazky='1a2a3a4a5a6a7a8a9a10a11a12';
$pole_odpovedi='ABCDABCDABCD';

Potřebuji tyto otázky promíchat, tak aby zůstalo propojení hodnot jako 1a=A, 6a=B.
To jsem se dozvěděl už minule, že mám použít funkci shuffle a navazat odpovedi k otazkam pres klice. Proto jsem pouzil funkci explode a udealal si pole z promenné $pole_otazky. Jenže mi vzniklo
array ( [0] => 1a [1] => 2a [2] => 3a [3] => 4a [4] => 5a [5] => 6a [6] => 7a [7] => 8a [8] => 9a [9] => 10a [10] => 11a [11] => 12a );

a já tam ty klíče nechci, potřeboval jsem čistě jen
array(1a,2a,3a,4a,5a,6a,7a,8a,9a,10a,11a,12a)
Tak mě napadlo když to udělám tak jak sem to teď udělal, že to fungovat bude, ale nefunguje :) takže máte prosím nějaký nápad jak navázat jeden string k druhému tak aby vzniklo pole s klíčema a já ho mohl promíchat?
Alphard
Profil
Dědeček:
a já tam ty klíče nechci, potřeboval jsem čistě jen
array_values()
Dědeček
Profil *
Sakra já jsem ***** :D už vím proč #1 nefungovalo, já jsem dal jednu proměnnou array_values() a druhou array_keys() a vlastně ty hodnoty byly jako hodnoty a ne klíče. Děkuju za nakopnutí, už to funguje.

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:

0