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: 9 let
|
0