| Autor | Zpráva | ||
|---|---|---|---|
| _fantomas Profil |
#1 · Zasláno: 25. 9. 2016, 21:14:33
Ahoj, neviete mi niekto prosím poradiť ako mam prečíslovať array? mam napríklad
Array ( [0] => jeden [1] => dva [2] => [3] => [4] => tri ) Array ( [0] => jeden [1] => dva [2] => tri ) |
||
| Alphard Profil |
#2 · Zasláno: 25. 9. 2016, 21:37:28
Nejde se na to dívat jen jako na přečíslování. Kdyby tam nějaký prvek nebyl, tak se vůbec nevypíše, tj. nejdřív je třeba tyto prvky smazat. Lze použít např. funkci array_filter, která tyto prvky odstraní (pokud se v callbecku nezadá jiná funkce, odstraní všechny, které se vyhodnotí jako false...). Pak vznikne pole „s dírou“ a to již lze přečíslovat pomocí array_values.
$out = array_values(array_filter($in)); |
||
| Keeehi Profil |
#3 · Zasláno: 25. 9. 2016, 21:40:47
S callbackem tedy
array_values(array_filter($array, function($value) { return !empty($value); })); |
||
| _fantomas Profil |
#4 · Zasláno: 25. 9. 2016, 21:48:08
No tomu asi trochu nechápem, proste mam parsovanu url
<?php
$url = $_SERVER['REQUEST_URI'];
$novaurl = parse_url($url);
$novaurl['path'] = ltrim($novaurl['path'], '/');
$novaurl['path'] = trim($novaurl['path']);
$novaurl = explode('/', $novaurl['path']);
print_r($novaurl);ak mam v url daco.com/jeden/dva/tri tak to vrati Array ( [0] => jeden [1] => dva [2] => tri ) ale ked mam v url daco.com/jeden/dva/tri////styri tak to vrati Array ( [0] => jeden [1] => dva [2] => tri [3] => [4] => [5] => [6] => styri ) a ja chcem tie prazdne hodnoty vymazat a precislovat |
||
| Keeehi Profil |
Nevím, co je na tom k nepochopení.
...
$novaurl = explode('/', $novaurl['path']);
$novaurl = array_values(array_filter($novaurl, function($value) { return !empty($value); }));
... |
||
| _fantomas Profil |
#6 · Zasláno: 26. 9. 2016, 12:50:37
Vdaka za pomoc
|
||
|
Časová prodleva: 10 let
|
|||
0