Warnung: file_put_contents(/home/www/web1/html/php_dev/test.txt) [function.file-put-contents]: failed to open stream: Permission denied in /home/www/web1/html/php_dev/sys/lib.activity.php (Zeile 58)
Multidimensionales Array Filtern [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr

- Ad -
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
Multidimensionales Array Filtern


 
Fr33z3m4n
15-07-2006, 21:08 
 
Hallo,

ich habe ein multidimensionales array, und möchte aber dort bestimmte werte aufiltern.

<?php
$array = $this->info();
foreach ($array as $a) {
echo $a[1];
echo $a[2];
echo $a[3];
}
?>
Da nun aber genau so viele Zeilen belegt werden, wie auch im Array vorgegeben wird (28 Daten), ist das nicht schön. Ich möchte nun filtern, das das ergbniss nur bestimmtes enthält.

z.b.

$a[3]="1"

nun soll halt das array nur noch werte enthalten, welche $a[3]="1" haben, die anderen sollen nicht erscheinen, und auch nicht als echo mit leeren zeilen angezeigt werden. Das wären z.b. nur 10 Daten, anstatt 28.

Momentan löse ich es so
<?php
$array = $this->info();
foreach ($array as $a) {
if($a[3]=="1") {
echo $a[1];
echo $a[2];
echo $a[3];
} }
?>f
Doch wie bereits erwähnt, werden 28 Zeilen angezeigt, und nicht nur 10,
Ergebniss:
Zeile1 = 1
Zeile2 = (leere zeile)
Zeile3 = 1
Zeile4 = 1
Zeile5 = (leere zeile)
.....
print_r($array);

Array ( [0] => Array ( [0] => 1 3 -1 0 100 "Eingangshalle" 16 0 "Default" [1] => 1 [2] => 3
[3] => -1 [4] => 0 [5] => 100 [6] => Eingangshalle [7] => 16 [8] => 0
[9] => Default [unparsed] => 1 3 -1 0 100 "Eingangshalle" 16 0 "Default" [id] => 1
[codec] => 3 [parent] => -1 [order] => 0
[maxusers] => 100 [name] => Eingangshalle
[flags] => 16 [password] => 0 [topic] => Default ) [1] => Array (........
Das wiederholt sich halt einfach so oft wie es vorhanden ist.

habe schon mit array_filter getestet, aber entweder bin ich zu doof, oder es klappt nicht.

Willt halt nur die array, die beim Wert "[3]" => -1 haben.

Hoffe ihr könnt mir helfen, und ich habe mich klar ausgedrückt.

mfg

 
TobiaZ
15-07-2006, 21:19 
 
brich den code um!!! PHP tut es schließlich auch. guck mal in den quelltext.

 
Fr33z3m4n
15-07-2006, 21:25 
 
sorry :(

habs geändert.

- -

Alle Zeitangaben in WEZ +2. Es ist jetzt 18:06 Uhr.