| Autor | Zpráva | ||
|---|---|---|---|
| dtx Profil * |
#1 · Zasláno: 4. 7. 2011, 09:22:38
Zdravím,
potřebuji vytvořit pole s následujícím obsahem: array('A','B','C','D',...'X','Y','Z','AA','AB','AC',...,'AX','AY','AZ','BA','BB','BC',...,..,.... 'ZX','ZY','ZZ') tedy všímaví jistě zaznamenali, že se jedná v podstatě o názvy sloupců v Excelu (ty tečky tam samozřejmě nahrazují to, co se mi nechtělo vypisovat :) Právě takové pole potřebuju pro práci s Excelem v PHP a nechce se mi ho vytvářet ručně. Zároveň mě zajímá, jak by se toto dalo programově vytvořit - už jen ze zvědavosti. |
||
| breeta Profil |
#2 · Zasláno: 4. 7. 2011, 09:45:58
No a co nevíš? jak do dostat s Excelu nebo jak udělat s řetězce pole?
|
||
| okolojdouci Profil * |
#3 · Zasláno: 4. 7. 2011, 09:46:54
$arr=array();
for ($i = 64; $i <= 90; $i++) {
$znak = chr($i);
if ($i==64) {$znak = "";};
for ($j = 65; $j <= 90; $j++) {
array_push($arr,$znak.chr($j);
}
} |
||
| dtx Profil * |
#4 · Zasláno: 4. 7. 2011, 09:50:31
Nevím, jak vytvořit pole obsahující to, co jsem nahoře napsal.. tedy když ve výsledku dám print_r($pole), aby to vypsalo něco ve smyslu
Array ( [0] => 'A', [1] => 'B', [2] => 'C', [3] => 'D', .... [997] => 'ZX', [998] => 'ZY', [999] => 'ZZ', ) |
||
| dtx Profil * |
#5 · Zasláno: 4. 7. 2011, 09:52:23
okolojdouci:
Tak to je přesně to, co jsem chtěl :) díky moc.. To jsi vytvořil teď z hlavy? Já jen, jestli se mám zastydět :) |
||
| okolojdouci Profil * |
#6 · Zasláno: 4. 7. 2011, 09:56:29
dtx:
„Tak to je přesně to, co jsem chtěl :) díky moc.. To jsi vytvořil teď z hlavy? Já jen, jestli se mám zastydět :)“ Úplně z hlavy ne, nikdy nevím, jestli se ta funkce jmenuje array_push nebo push_array :) (na 6. řádku mi na konci chybí závorka, ale tos zřejmě vyřešil) |
||
| dtx Profil * |
#7 · Zasláno: 4. 7. 2011, 10:06:40
okolojdouci:
:) jj, vyřešil.. ono je to v podstatě koukám docela easy, jen to chtělo znát funkci chr().. takže ano, stydím se :) |
||
| DJ Miky Profil |
#8 · Zasláno: 4. 7. 2011, 10:13:50
Jde to ještě jednodušeji (a trochu přehledněji), PHP umí inkrementovat řetězce:
$pole=array();
$znak='A';
while(true) {
$pole[]=$znak;
if($znak++=='ZZ') break;
}
|
||
|
Časová prodleva: 14 let
|
|||
0