ďťż

[php] okrajanie tablic

       

Podstrony


telcocafe

1. Jak usunąć z tablicy wszystkie klucze w tablicy których wartości rozpoczynają się od wybranego prefixu?
2. Jak usunąć z wartości wszystkich kluczy w tablicy podaną frazę (np.: '.txt')?
Mam kod, który dodaje wszystkie pliki do tablicy $table, usuwa 2 pierwsze klucze czyli "." i ".." a następnie pokazuje wszystkie elementy tablicy $table. zalezy mi aby nie pokazywał on rozszeżeń oraz by usuwał on z tablicy te klucze których wartość zaczyna się od wybranego prefixu
Oto kod
<?php $handle = opendir('.'); if ($handle = opendir('.')) { while (false !== ($file = readdir($handle))) { $table[] = $file; } closedir($handle); } array_splice($table, 0, 2); $wytnij = in_array('login_', $table); echo ($wytnij); for ($i=0; $i < count($table); $i++) { echo ("$table[$i]<br>"); } ?>
Użytkownik kokoss15 edytował ten post 30 lipiec 2007, 09:21



1. Jak usunąć z tablicy wszystkie klucze w tablicy których wartości rozpoczynają się od wybranego prefixu?
2. Jak usunąć z wartości wszystkich kluczy w tablicy podaną frazę (np.: '.txt')?
Mam kod, który dodaje wszystkie pliki do tablicy $table, usuwa 2 pierwsze klucze czyli "." i ".." a następnie pokazuje wszystkie elementy tablicy $table. zalezy mi aby nie pokazywał on rozszeżeń oraz by usuwał on z tablicy te klucze których wartość zaczyna się od wybranego prefixu
Oto kod
<?php $handle = opendir('.'); if ($handle = opendir('.')) { while (false !== ($file = readdir($handle))) { $table[] = $file; } closedir($handle); } array_splice($table, 0, 2); $wytnij = in_array('login_', $table); echo ($wytnij); for ($i=0; $i < count($table); $i++) { echo ("$table[$i]<br>"); } ?>

Wystarczy odrobinkę pokombinować np. z array_walk czy choćby foreach.


Wystarczy odrobinkę pokombinować np. z array_walk czy choćby foreach.
Myślałem już nad tym ale teraz najciężej będzie napisać tą funkcję której ma używać... chyba można by było napisać pętlę for:
function usun_txt($prefix) { global $table; for ($i=0; $i < count($table); $i++) { //instrukcja która sprawdza czy value klucza tablicy $table[$i] kończy się na .txt a jeżeli tak to usuwa to rozszeżenie //instrukcja która sprawdza czy value klucza tablicy $table[$i] zaczyna się na wybrany prefix np $prefix }
jeli wpadnie ci cos doglowy apropo tego proszę, wyedytuj twoj post wzbogacajac go o np kod
Użytkownik kokoss15 edytował ten post 30 lipiec 2007, 09:45

1. Jak usunąć z tablicy wszystkie klucze w tablicy których wartości rozpoczynają się od wybranego prefixu?
<?php $tablica = array('prefix_aaa','bbb','ccc','prefix_ddd','fff','ggg' ); $tablica_new = array(); $prefix = 'prefix_'; foreach($tablica as $id => $item) { if (substr($item,0,strlen($prefix)) != $prefix) { array_push($tablica_new,$item); } } $tablica = $tablica_new; unset($tablica_new); echo '<pre>'; var_dump($tablica); echo '</pre>'; ?>

2. Jak usunąć z wartości wszystkich kluczy w tablicy podaną frazę (np.: '.txt')?
<?php $tablica = array('aaa','bbb.txt','ccc','ddd','fff','ggg.txt'); for($i=0;$i<count($tablica);$i++) { $tablica[$i] = str_replace('.txt','',$tablica[$i]); } echo '<pre>'; var_dump($tablica); echo '</pre>'; ?>
Użytkownik bryn edytował ten post 30 lipiec 2007, 09:51
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • nvm.keep.pl

  • Sitedesign by AltusUmbrae.