Autor | Zpráva | ||
---|---|---|---|
Silver8000 Profil |
#1 · Zasláno: 8. 1. 2014, 19:13:12
Nevite nahodou nekdo jak z array prefiltrovat pouze odkazy?
Priklad existujici array : array( 'slozka', 'soubor.txt', 'c:/home_server/www', 'http://domena/cesta/', 'https://domena/soubor.php' ); Vysledek nove array by mel vypadat takto : array( 'http://domena/cesta/', 'https://domena/soubor.php' ); Diky predem. |
||
Jan Tvrdík Profil |
#2 · Zasláno: 8. 1. 2014, 19:20:01
Co takhle použít funkci array_filter?
|
||
Silver8000 Profil |
#3 · Zasláno: 8. 1. 2014, 19:25:48
Taky me to napadlo ale jakym spusobem to udelat ukazte aspon prikladny nazor at vim jak dal.
|
||
Jan Tvrdík Profil |
#4 · Zasláno: 8. 1. 2014, 19:34:16
|
||
juriad Profil |
#5 · Zasláno: 8. 1. 2014, 19:38:56
<?php function je_odkaz($odkaz) { return $odkaz[0] == 'h'; # sem si napíšeš něco chytřejšího } $odkazy = array( 'slozka', 'soubor.txt', 'c:/home_server/www', 'http://domena/cesta/', 'https://domena/soubor.php' ); print_r(array_filter($odkazy, "je_odkaz")); |
||
okolojsoucí Profil |
#6 · Zasláno: 8. 1. 2014, 19:44:33
$odkazy2 = array(); $odkazy = array( 'slozka', 'soubor.txt', 'c:/home_server/www', 'http://domena/cesta/', 'https://domena/soubor.php' ); foreach($odkazy as $uri) if(filter_var($uri, FILTER_VALIDATE_URL)) $odkazy2[] = $uri; print_r($odkazy2); |
||
Silver8000 Profil |
#7 · Zasláno: 8. 1. 2014, 19:55:52
Diky za tip ted uz jsem aspon pochopil co znamenaji ty hodnoty ve filtru.
<?php function is_url($url){ if(filter_var($url, FILTER_VALIDATE_URL)){ return $url; } } ?> Foreach je na prd a spomaluje proces; priklad pouziti : $odkazy = array( 'slozka', 'soubor.txt', 'c:/home_server/www', 'http://domena/cesta/', 'https://domena/soubor.php' ); print_r(array_filter($odkazy, 'is_url')); |
||
DarkMeni Profil |
#8 · Zasláno: 8. 1. 2014, 20:07:27
Silver8000:
„Foreach je na prd a spomaluje proces“ Jen tak mimochodem, myslíš že array_filter() nepoužije foreach ?
Možná ne, možná je to udělaný přes for nebo něco jinýho, ale to pole nějak procházet taky musí |
||
okolojsoucí Profil |
#9 · Zasláno: 8. 1. 2014, 20:24:14
DarkMeni:
Foreach nepoužije, ale nějaké náznaky po cyklu jsou viděny přímo ve zdroji https://github.com/php/php-src/blob/af6c11c5f060870d052a2b765dc634d9e47d0f18/ext/standard/array.c#L4211-L4308 |
||
Silver8000 Profil |
#10 · Zasláno: 8. 1. 2014, 21:09:04
Jasne ale ja to myslel tak ze proc pouzivat foreach a zbytecne kod zvetsovat a rozepisovat kdyz uz existuje na to rychlejsi funkce.
Si predstav ze uz jen vypisovani dat z DB a dalsich asi 15 funkci by melo foreach...spozduje to nacitani stranek uzivateli |
||
okolojsoucí Profil |
#11 · Zasláno: 8. 1. 2014, 21:21:17
|
||
Silver8000 Profil |
#12 · Zasláno: 8. 1. 2014, 22:49:22
Jsem v anglii a mam pomotanou hlavu tak se mi nediv ze pisu bez diakritiky a mam preklepy ve slovech navic resit takove male chybky je zbytecnost kdyz se to netyka PHP.
|
||
Časová prodleva: 11 let
|
0