2016-05-16 3 views
1

Also, ich möchte ein PHP-Objekt über seine Eigenschaft auswählen, so wie Sie ein HTML-Element in JS über die $('.element[selector=false]') Art und Weise auswählen würde.Auswählen einer Klasse mit Eigenschaften als Selektor - PHP

Wie würde ich gehen über die Auswahl des Objekts der Klasse Business Welche hat den Namen The Night's Watch, ohne seinen Variablennamen zu kennen?

Danke!

+1

Sie müssen scheinen würde mehr sein spezifisch: Wo wird dieses 'Business' Objekt gespeichert? Ich denke auf den ersten Blick, dass Ihre Anwendung nicht richtig gestaltet ist: Sie sollten in der Lage sein, Objekte auszuwählen und zu speichern, je nach dem Kriterium Ihrer Wahl. – Arcesilas

+1

Dies hängt davon ab, wo Ihre Objekte gespeichert sind. Woher willst du danach suchen? – DaGardner

+0

Fügen Sie den Code ein, dann können wir Ihnen helfen. – prava

Antwort

2

Es ist nicht so schwer, wie es

// this will be array of all variables 
$vars = get_defined_vars(); 
foreach(array_keys($vars) as $v) 
    if (gettype($$v) == 'object' and   
     get_class($$v) == 'Business' and  // get_class returns class name 
     $$v->name == 'The Night's Watch')  // test property 
     echo 'Variable you find is ' . $v; 
+0

Das ist sehr seltsam, einige Daten in einem Variablen-Entwickler gespeichert haben, weiß nicht ... – Arcesilas

+0

Ich weiß nicht, vielleicht schreibe er einen Debugger – splash58

0

Für Eigenschaftsname der Zeichenfolge Die Nachtwache .. Sie bitte das folgende Code tun ...

$string_to_find = "The Night's Watch"; 
//suppose $obj is the object of the class Business 
foreach ($obj as $property => $value) { 
     if ($value == $string_to_find) { 
      // You found the string 
      echo $property; 
      echo $value; 
     } 
    } 
Verwandte Themen