Antworten auf deine Fragen:
Neues Thema erstellen

PHP Funktion mit Schleifen

BloodyMary

...visualize it!

Hallo zusammen,

ich versuche gerade einen Rückgabe Echo zu einem Script zu schreiben, komme aber irgenwie nicht weiter. Für die PHP Profis unter euch bestimmt ein leichtes. Ich möchte als Ausgabe folgendes erhalten: Dieses Element konnte leider nicht gefunden werden. Wie würdet ihr das schreiben?

<?php
function mein_in_array ($nadel, $heuhaufen) {
foreach ($heuhaufen as $element ) {
if ($nadel === $element) {
echo 'Element '.$element.' gefunden!';
}
}
};

$zahlen = array(4,6,7,42,78,96);
mein_in_array(5, $zahlen);
?>


Danke euch!

Grüße
BloodyMary
 

Robbyn-

PHP / Flex Programmierer

AW: PHP Funktion mit Schleifen

anstat ein echo einfach ein return "Element ...."

Das fängst du dann beim Aufruf in einer Variabel auf z.b. so:

PHP:
$var = mein_in_array($nadel,$heuhaufen);

dann enthällt $var den Rückgabewert.
 

BloodyMary

...visualize it!

AW: PHP Funktion mit Schleifen

Hi Robbyn-,

danke dir für die Antwort! Ich bin in PHP noch ein absoluter Anfänger, könntest du mir deine Antwort vielleicht etwas näher erklären?
Meine Zahl in mein_in_array(5) findet keine Übereinstimmung auf einer der Zahlen in der Variablenarray $zahlen, hier soll ausgegeben werden : Dieses Element konnte leider nicht gefunden werden. Wie genau würdest du das in diesem Script reinschreiben und an welcher Stelle?
 

Robbyn-

PHP / Flex Programmierer

AW: PHP Funktion mit Schleifen

PHP:
function mein_array($search,$array)
{
 if(!in_array($search,$array))
 {
   return "$search wurde im Array nicht gefunden" 
 }
}
$search = "a";
$array = array("b","c","d","e");
$output = mein_array($search,$array);

echo $output;

Das echo müsste jetzt die Ausgabe: "a wurde im Array nicht gefunden" zurück geben.
 

BloodyMary

...visualize it!

AW: PHP Funktion mit Schleifen

Ich möchte gerne nicht ein bestimmtes Element suchen, sondern falls der Wert nicht in dem Array vorhanden ist, es ausgeben. Wie schreibe ich das in meinem vorhanden Code bzw. Funktion hinein?
 

Duddle

Posting-Frequenz: 14µHz

AW: PHP Funktion mit Schleifen

Warum schreibst du ein eigenes in_array()? Du scheinst die Funktion ja offensichtlich zu kennen, nutzt sie aber nicht.

Bezüglich "return": Rückgabewerte sind Werte, die von einer Funktion zurückgegeben werden. Das klingt naheliegend, weil es das ist. Ein "return" gibt das Ergebnis des folgenden Ausdruckes an die die Funktion aufrufende Stelle zurück. Einfaches Beispiel:
PHP:
function plus($a, $b) {
  return $a + $b;
}
$ergebnis = plus(17, 25);
echo $ergebnis;
Dort kannst du Schritt für Schritt verfolgen, was aufgerufen und ersetzt wird. Erstens wird die Funktion mit den übergebenen Werten aufgerufen, diese werden den Variablen zugeordnet und in der Funktion selbst eingesetzt:
PHP:
function plus(17, 25) {
  return 17 + 25;
}
$ergebnis = plus(17, 25);
echo $ergebnis;
Dann wird als Teilschritt der Ausdruck hinter return aufgelöst:
PHP:
function plus(17, 25) {
  return 42;
}
$ergebnis = plus(17, 25);
echo $ergebnis;
Dieser Wert wird als Rückgabewert an die Stelle ihres Aufrufes eingesetzt:
PHP:
function plus(17, 25) {
  return 42;
}
$ergebnis = 42;
echo $ergebnis;
Dieser Wert wird in diesem Beispiel dann der Variable $ergebnis zugewiesen und danach ausgegeben. Die Variablen selbst werden aber nie "ersetzt", es sind nur Platzhalter bzw. genauer Verweise auf Orte im Speicher, an denen irgendwas steht. Daher muss die Zuweisung des Rückgabewertes nicht unbedingt wie in meinem Beispiel erfolgen, folgendes führt zur exakt gleichen Ausgabe:
PHP:
function plus($a, $b) {
  return $a + $b;
}
echo plus(17, 25);

Dieses Prinzip funktioniert in deinem Beispiel genau so, nur dass eben keine Zahl, sondern eine Zeichenkette/String zurückgegeben werden sollte.


Duddle
 

Robbyn-

PHP / Flex Programmierer

AW: PHP Funktion mit Schleifen

Genau das macht die Funktion die ich oben geschrieben habe, sie kontrolliert ob der $search Wert in $array vorkommt oder nicht. Wenn dieser Wert nicht in $array vorkommt, dann gibt er eine Meldung zurück.
 

BloodyMary

...visualize it!

AW: PHP Funktion mit Schleifen

Vielen Dank Duddle & Robbyn für eure Antworten!
Eine Frage noch, wie schreibt man diesen PHP-Code hier ins Forum hinein?
 

owieortho

Aktives Mitglied

AW: PHP Funktion mit Schleifen

Achtung, es fehlt ein Semikolon. Richtig ist:
PHP:
 if(!in_array($search,$array))
 {
   return "$search wurde im Array nicht gefunden"; 
 }
}

O
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Statistik des Forums

Themen
118.565
Beiträge
1.538.067
Mitglieder
67.488
Neuestes Mitglied
Andrew56524
Oben