Seite 1 von 1
in_array - wie zweite ebene abfragen?
Verfasst: 17.04.2006 17:42
von mgutt
Ich stehe gerade auf dem Schlauch.
Wenn ich mit in_array prüfen will ob ein Wert enthalten ist und ich aber folgende Struktur habe was mache ich dann?
array([0] => array(['element'] => wert) [1] => array(['element'] => wert) .... [9] => array(['element'] => wert))
hier möchte ich feststellen, ob bei array 0-9 im ['element'] keine 0 vorkommt. (0 ist standard, wenn eine andere zahl ist, dann beginnt meine if-schleife).
gruß
Verfasst: 17.04.2006 18:34
von S2B
Da wirst du um eine Schleife nicht herum kommen. Wenn du so etwas mehr als einmal brauchen solltest, würde ich es einfach in eine Funktion auslagern:
Code: Alles auswählen
function in_array2($value, $subkey, $array)
{
foreach ($array as $subarray)
{
if (isset($subarray[$subkey]) && $subarray[$subkey] == $value)
{
return true;
}
}
return false;
}
Verfasst: 17.04.2006 18:57
von mgutt
Und wie mache ich es ohne Funktion und lasse beim 1. erfüllen die Schleife abbrechen und einen Wert zuweisen?
Derzeit sieht es bei mir so aus:
Code: Alles auswählen
//-- mod : attachmod -----------------------------------------------------------
//-- add
if ( defined('CH_mod_attachmod') )
{
if ( $forum_topic_data['topic_attachment'] == 1 )
{
$forum_topic_data['topic_attachment'] = 0;
foreach ($postrow as $attach_array)
{
if ( $attach_array['post_attachment'] != 0)
{
$forum_topic_data['topic_attachment'] = 1;
if ($user->data['user_id'] == 2)
{
echo('Attachment gefunden');
}
}
}
}
init_display_post_attachments($forum_topic_data['topic_attachment']);
}
//-- fin mod : attachmod -------------------------------------------------------
Aber für jede Erfüllung vergibt er den Wert erneut, was für mich nicht nötig ist.
Verfasst: 17.04.2006 19:13
von S2B
Normal müsste das mit einem
gehen, ich bin mir aber im Moment nicht zu 100% sicher...
Verfasst: 17.04.2006 19:16
von mgutt
jo, das wars.
Code: Alles auswählen
//-- mod : attachmod -----------------------------------------------------------
//-- add
if ( defined('CH_mod_attachmod') )
{
if ( $forum_topic_data['topic_attachment'] == 1 )
{
$forum_topic_data['topic_attachment'] = 0;
foreach ($postrow as $attach_array)
{
if ( $attach_array['post_attachment'] != 0)
{
$forum_topic_data['topic_attachment'] = 1;
break;
}
}
}
init_display_post_attachments($forum_topic_data['topic_attachment']);
}
//-- fin mod : attachmod -------------------------------------------------------
Der Attachment Mod ist leider etwas dumm. Der fragt immer alle posting ids ab, auch wenn auf der angezeigten Seite, gar kein Dateianhang zu sehen ist.
Damit dürfte ich dem jetzt einen Riegel vorgeschoben haben.
Danke!