php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 12-05-2015, 11:00
senger1985
 Registrierter Benutzer
Links : Onlinestatus : senger1985 ist offline
Registriert seit: Feb 2013
Beiträge: 85
senger1985 befindet sich auf einem aufstrebenden Ast
Standard Bestimmte Values aus Mehrdimensionalem Array ausgeben!?

Hallo,

ich habe folgendes Problem:

Ich habe ein mehrdimensionales Array, indem ein bestimmter Wert steckt.
Jetzt möchte ich, dass das Array, in dem der Wert steckt ausgegeben wird, habe aber keine Ahnung wie!

PHP-Code:
$array = array(
'1' => array(
    
'name'     => 'bla'
    'nochwas' 
=> 'bla_nochwas'
    
)
'2' => array(
    
'name'     => 'bla2'
    'nochwas' 
=> 'bla_nochwas2'
    
)

Wie komme ich jetzt an den key von dem Array, wo z.B.: 'bla2' steht
und wie kann ich dann das Array ausgeben?

Ich hoffe, meine Frage unterfordert euch nicht und ihr könnt mir helfen?!
Habe schon Tage gesucht, aber nicht wirklich was Brauchbares gefunden.
Mit Zitat antworten
  #2 (permalink)  
Alt 12-05-2015, 14:38
wahsaga
  Moderator
Links : Onlinestatus : wahsaga ist offline
Registriert seit: Sep 2001
Beiträge: 25.236
wahsaga befindet sich auf einem aufstrebenden Ast
Standard

Simpelster und direktester Weg: Array in Schleife durchlaufen, und dabei prüfen, ob das Unter-Element mit dem Schlüssel name den Wert bla2 hat … und wenn ja, dann das komplette Ober-Element ausgeben.

(Klar, ausgeklügeltere Ansätze mittels diverser Array-Funktionen sind denkbar … aber auf die trivialste und nahelegendste Methode müsste doch jeder, der auch nur ein bisschen vom Programmieren versteht, selber kommen können …?))
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
Mit Zitat antworten
  #3 (permalink)  
Alt 12-05-2015, 15:53
senger1985
 Registrierter Benutzer
Links : Onlinestatus : senger1985 ist offline
Registriert seit: Feb 2013
Beiträge: 85
senger1985 befindet sich auf einem aufstrebenden Ast
Standard

Danke wahsaga für deine Antwort,

leider sind Arrays noch so eine kleine Baustelle von mir und ich komme bei etwas verzwickteren Abfragen etwas ins stolpern.

Ich habe jetzt mehrere Versuche gestartet und bin leider immer noch nicht an mein Ziel gekommen.
Mit Zitat antworten
  #4 (permalink)  
Alt 12-05-2015, 19:44
wahsaga
  Moderator
Links : Onlinestatus : wahsaga ist offline
Registriert seit: Sep 2001
Beiträge: 25.236
wahsaga befindet sich auf einem aufstrebenden Ast
Standard

Na dann zeig mal, was du versucht hast.
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
Mit Zitat antworten
  #5 (permalink)  
Alt 12-05-2015, 22:49
senger1985
 Registrierter Benutzer
Links : Onlinestatus : senger1985 ist offline
Registriert seit: Feb 2013
Beiträge: 85
senger1985 befindet sich auf einem aufstrebenden Ast
Standard

Irgendwie so:
PHP-Code:
          $key array_search($bla_blub,$bla);
          if(isset(
$key))
            {
                echo 
"ja<br /><br />test ".array_keys($key);
                
print_r(array_values($bla));
                
print_r(array_keys($bla));
            }
            else
            {
                echo 
"nein";
            }; 
PHP-Code:
if(array_search($bla_blub,$bla))
{
    for(
$i 0$i count($bla_blub); $i++)
    {
        echo 
'<br />'.$bla_blub[$i];
    }

Zwei Varianten und beide funzen net!
Mit Zitat antworten
  #6 (permalink)  
Alt 12-05-2015, 23:40
wahsaga
  Moderator
Links : Onlinestatus : wahsaga ist offline
Registriert seit: Sep 2001
Beiträge: 25.236
wahsaga befindet sich auf einem aufstrebenden Ast
Standard

Natürlich funzt das nicht – array_search sucht nur nach kompletten Elementen auf der obersten Ebene eines Arrays.
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
Mit Zitat antworten
  #7 (permalink)  
Alt 12-05-2015, 23:46
senger1985
 Registrierter Benutzer
Links : Onlinestatus : senger1985 ist offline
Registriert seit: Feb 2013
Beiträge: 85
senger1985 befindet sich auf einem aufstrebenden Ast
Standard

Bei der array_search-Variante zeigt er mir ja wenigstens schon mal das "Ja" an.

Nur komme ich nicht an das komplette Array ran, in dem die Variable "$bla_blub" steht!
Mit Zitat antworten
  #8 (permalink)  
Alt 13-05-2015, 00:11
wahsaga
  Moderator
Links : Onlinestatus : wahsaga ist offline
Registriert seit: Sep 2001
Beiträge: 25.236
wahsaga befindet sich auf einem aufstrebenden Ast
Standard

PHP-Code:
foreach($array as $element) {
  if(
$element['name'] == 'bla2') {
    
var_dump($element);
    break; 
// wenn es den Wert nur einmal im Array geben kann, aus Schleife aussteigen
           // andernfalls break entfernen
  
}

__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
Mit Zitat antworten
  #9 (permalink)  
Alt 13-05-2015, 14:04
Benutzerbild von fireweasel fireweasel
 Registrierter Benutzer
Links : Onlinestatus : fireweasel ist offline
Registriert seit: Sep 2008
Ort: At home
Beiträge: 851
fireweasel wird schon bald berühmt werdenfireweasel wird schon bald berühmt werden
fireweasel eine Nachricht über AIM schicken fireweasel eine Nachricht über Yahoo! schicken
Standard

Zitat:
Zitat von senger1985 Beitrag anzeigen
...
PHP-Code:
$array = array(
'1' => array(
    
'name'     => 'bla'
    'nochwas' 
=> 'bla_nochwas'
    
)
'2' => array(
    
'name'     => 'bla2'
    'nochwas' 
=> 'bla_nochwas2'
    
)

Ein lustiges Array. PHP erlaubt keine Zeichenketten als Array-Keys, die gleichzeitig Integer-Zahlen darstellen. Ein paar Kommas fehlen auch. Wo kommen die Daten her? Aus einer Datenbank? Die hat üblicherweise bessere Suchmöglichkeiten als PHP-Code.

Zitat:
Wie komme ich jetzt an den key von dem Array, wo z.B.: 'bla2' steht
und wie kann ich dann das Array ausgeben?
Eine Liste aller Sub-Arrays, die der Anforderung entsprechen bekommst du so:
PHP-Code:
$needle 'bla2';
$filtered array_filter(
    
$array,
    function(
$subarray) use ($needle) {
        return 
$subarray['name'] === $needle;
    }
);
var_dump($filtered); 
Die Keys bekommst du per array_keys($filtered). Falls nur der erste gesucht wird, reicht key($filtered).

Zitat:
Habe schon Tage gesucht, aber nicht wirklich was Brauchbares gefunden.
Naja, wir hatten einen ähnlichen Thread hier vor einiger Zeit, in dem auch verschiedene Lösungen diskutiert wurden -- allerdings in Bezug auf PHP-Interna, die nichts mit einer einfachen Lösung zu tun haben. Aber dort wurden array_filter(), foreach (ohne und mit benutzerdefinierter Vergleichsfunktion), und array_walk() als Lösungsansätze aufgelistet. Es ging allerdings ums Suchen und Löschen von Einträgen in verschachtelten Arrays, deswegen kann man die dortigen Code-Beispiele nicht 1-zu-1 übernehmen.
Mit Zitat antworten
  #10 (permalink)  
Alt 13-05-2015, 14:39
wahsaga
  Moderator
Links : Onlinestatus : wahsaga ist offline
Registriert seit: Sep 2001
Beiträge: 25.236
wahsaga befindet sich auf einem aufstrebenden Ast
Standard

OffTopic:
Zitat:
Zitat von fireweasel Beitrag anzeigen
PHP erlaubt keine Zeichenketten als Array-Keys, die gleichzeitig Integer-Zahlen darstellen.
Erlaubt schon – aber sie werden zu Integer-Keys gecastet.
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
Mit Zitat antworten
  #11 (permalink)  
Alt 13-05-2015, 19:52
senger1985
 Registrierter Benutzer
Links : Onlinestatus : senger1985 ist offline
Registriert seit: Feb 2013
Beiträge: 85
senger1985 befindet sich auf einem aufstrebenden Ast
Standard

Hallo fireweasel,

die Werde kommen alle aus einer separaten Datei und nicht aus einer Datenbank.

Und dass das Array nicht richtig geschrieben wurde, lag an mir, hab mich hier vertippt.

In der Original-Datei ist es alles richtig geschrieben.
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Bestimmte Zuweisung aus DB ausgeben mrpiper PHP Developer Forum 6 07-12-2005 16:54
Problem mit mehrdimensionalem Array golux2 PHP Developer Forum 2 21-10-2005 14:22
Doppelte Einträge in mehrdimensionalem Array? Kicky PHP Developer Forum 7 09-03-2004 22:22
Array- Elemente anhand des values aus dem array entfernen Thommy PHP Developer Forum 12 30-10-2001 20:05
Sortieren von Mehrdimensionalem Array Bladerunner PHP Developer Forum 2 02-09-2001 20:53

Themen-Optionen
Thema bewerten
Thema bewerten:

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 an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni

Wissensbestand in Unternehmen
Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Berni


 

Aktuelle PHP Scripte

ADSMAN V3 - Werbe-Manager ansehen ADSMAN V3 - Werbe-Manager

ADSMAN V3 - mehr als nur ein Bannermanager! Banner, Textanzeigen und PagePeel Manager! Mit ADSMAN PRO haben Sie die Marketinglösung für eine effektive und effiziente Werbeschaltung mit messbaren Ergebnissen. Unterstützt werden Bannerformate in beliebi

25.10.2018 virtualsystem | Kategorie: PHP/ Bannerverwaltung
PHP News und Artikel Script V2

News schreiben, verwalten, veröffentlichen. Dies ist jetzt mit dem neuen PHP News & Artikel System von virtualsystem.de noch einfacher. Die integrierte Multi-User-Funktion und der WYSIWYG-Editor (MS-Office ähnliche Bedienung) ermöglichen...

25.10.2018 virtualsystem | Kategorie: PHP/ News
Top-Side Guestbook

Gästebuch auf Textbasis (kein MySQL nötig) mit Smilies, Ip Sperre (Zeit selbst einstellbar), Spamschutz, Captcha (Code-Eingabe), BB-Code, Hitcounter, Löschfunktion, Editierfunktion, Kommentarfunktion, Kürzung langer Wörter, Seiten- bzw. Blätterfunktion, V

22.10.2018 webmaster10 | Kategorie: PHP/ Gaestebuch
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 21:26 Uhr.