SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

Einführung in XHTML, CSS und Webdesign

Einführung in XHTML, CSS und Webdesign zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > PHP Grundlagen

PHP Grundlagen Hier kann über grundlegende Probleme oder Anfängerschwierigkeiten diskutiert werden

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 27.07.2009, 01:50:45
dercheffe dercheffe ist offline
Anfänger
 
Registriert seit: Jan 2004
Beiträge: 9
Mehrdimensionales Array mit foreach-Konstrukt und in_array durchsuchen klappt nicht

Hallo,

folgender Code sollte überprüfen, ob ein Suchbegriff in einem mehrdimensionalem Array vorhanden ist.

Leider passt das Tutorial von http://tut.php-q.net/recursion.html#u3 nicht ganz auf meine Bedürfnisse.

Hier mein Code:
Zuerst der Array. In meinem Fall hat er 2 Dimensionen:

PHP-Code:


$vorlage 
= array();

    
$vorlage[0]['id'] = (int)0;
    
$vorlage[0]['datei'] = (string)'startseite';

    
$vorlage[1]['id'] = (int)1;
    
$vorlage[1]['datei'] = (string)'inhalt_detail';

    
$vorlage[2]['id'] = (int)2;
    
$vorlage[2]['datei'] = (string)'inhalt_liste'
Hier die Funktion:
PHP-Code:
function search_multi_array($suchbegriff$multiarray)
{
    foreach(
$multiarray as $key=>$values)
    {
        if(
is_array($values))
        {
            if(
in_array($suchbegriff,$values))
            {
                
$ergebnis 1;
            }

            else
            {
                
$ergebnis 0;
            }

        }

        else
        {
            
$ergebnis = (string)'Ergebnis ist kein Array';
        }
    }

    return 
$ergebnis;

1. Problem: Wenn die Funktion mit...
PHP-Code:
$x search_multi_array('startseite'$vorlage);
echo 
$x
...ausgeführt wird, bekomme ich immer 0 zurück.

2. Problem: Wenn ich die Ergebniswerte innerhalb der Funktion explizit als bool (per typecast) deklariere, bekomme ich gar kein Ergebnis zurück?

Kann mir jemand sagen, wo ich bei meinen Problemen einen Denkfehler habe?

THX schon mal im Voraus,

Phil

Geändert von dercheffe (27.07.2009 um 01:55:18 Uhr)
Mit Zitat antworten
  #2  
Alt 27.07.2009, 02:19:50
DokuLeseHemmung DokuLeseHemmung ist offline
SELFPHP Experte
 
Registriert seit: Jun 2008
Alter: 15
Beiträge: 2.269
AW: Mehrdimensionales Array mit foreach-Konstrukt und in_array durchsuchen klappt nic

Du überschreibst $ergebnis dauernd...
Also bekommst du nur den letzten Wert zurück.


PHP-Code:
function search_multi_array($suchbegriff$multiarray)
{
    foreach(
$multiarray as $key=>$values)
        if(
is_array($values))
            if(
in_array($suchbegriff,$values))
                return 
true;
   return 
false;


Geändert von DokuLeseHemmung (27.07.2009 um 02:20:24 Uhr)
Mit Zitat antworten
  #3  
Alt 27.07.2009, 09:55:52
cortex cortex ist offline
SELFPHP Profi
 
Registriert seit: Apr 2008
Alter: 48
Beiträge: 1.938
AW: Mehrdimensionales Array mit foreach-Konstrukt und in_array durchsuchen klappt nic

Zitat:
Fortgeschrittene und Experten können hier über ihre Probleme und Bedenken talken
[mod: verschoben]

cx
Mit Zitat antworten
  #4  
Alt 29.07.2009, 21:36:53
dercheffe dercheffe ist offline
Anfänger
 
Registriert seit: Jan 2004
Beiträge: 9
AW: Mehrdimensionales Array mit foreach-Konstrukt und in_array durchsuchen klappt nic

Zitat:
Zitat von DokuLeseHemmung Beitrag anzeigen
Du überschreibst $ergebnis dauernd...
Also bekommst du nur den letzten Wert zurück.


PHP-Code:
function search_multi_array($suchbegriff$multiarray)
{
    foreach(
$multiarray as $key=>$values)
        if(
is_array($values))
            if(
in_array($suchbegriff,$values))
                return 
true;
   return 
false;

danke für deine antwort :-) aber ist der code von mir mit deinem nicht äquivalent? weil das problem besteht immer noch, dass ich true als ergebnis bekomme... :-( stehe grade wohl voll auf der leitung...

grüße
Mit Zitat antworten
  #5  
Alt 29.07.2009, 21:50:55
DokuLeseHemmung DokuLeseHemmung ist offline
SELFPHP Experte
 
Registriert seit: Jun 2008
Alter: 15
Beiträge: 2.269
AW: Mehrdimensionales Array mit foreach-Konstrukt und in_array durchsuchen klappt nic

Strict setzen... !!!??!
Mit Zitat antworten
Antwort

Stichworte
array, in_array, mehrdimensional, suche


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Arrayblind tlang78 PHP Grundlagen 2 30.06.2009 16:08:33
foreach, mehrdimensionales Array einsteigi PHP Grundlagen 2 19.03.2009 01:10:24
Array formatiert ausgeben Faang PHP Grundlagen 3 15.08.2008 02:47:43
Doppelte einträge aus einem Mehrdimensionalen Array aussortieren und löschen PHoenix_KM PHP für Fortgeschrittene und Experten 2 17.04.2008 19:19:53
Einzelne Daten aus Textdatei Auslesen azubinator PHP Grundlagen 153 17.12.2004 14:36:58


Alle Zeitangaben in WEZ +2. Es ist jetzt 17:52:10 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt