PHP: Variablen aus Include auslesen

ghostadmin

Grand Admiral Special
Mitglied seit
11.11.2001
Beiträge
25.179
Renomée
184
Standort
Dahoam Studios
Angenommen ich habe in einem Include File mehrere Variablen stehen aber ich weiß nicht wieviele z.B.:

$config['Name1']=test1;
$config['Name2']=test2;
$config['Name3']=test3;
...
..
.


Jetzt möchte unter PHP aus dem Include File die Variablen nacheinander auslesen bzw. wenn diese gesetzt ist, soll eine andere z.b. callduration_name1 auf 0 gesetzt werden.

Hab das probiert aber da hängt der Browser:
Code:
$countnumber=1;
while ( isset($config['Name'.$countnumber])) {
$callduration_name.$countnumber = 0;
$countnumber++;
if ($countnumber == 3) {
        break;
    }
}

Geht das überhaupt? Vermute Zeile 2 und 3 ist nicht richtig.
 
Ich habe jetzt im config.inc.php

PHP:
$namearray = [
"Name1" => "test1",
"Name2" => "test2",
];

Und auf der anderen php Seite:

PHP:
<?php

error_reporting(E_ALL);
include('include/config.inc.php');
	
$countnumber=1;
while ( array_key_exists('Name1', $namearray)) {
$callduration_name.$countnumber = $namearray['$countnumber'];
echo $callduration_name.$countnumber;
$countnumber++;
if ($countnumber == 3) {
        break;
    }
}	


?>

Wenn ich das ausführe hängt es sich auf, keinerlei Output oder Fehler.
Was ich im Endeffekt haben möchte ist:
$callduration_name1 = "test1"
 
Du gibst den Schlüssel im Array nicht richtig an, $countnumer ist 1, nicht Name1 und die Zuweisung des Variablennamens "callduration_name.$countnumber" ist imho auch nicht möglich.

Wenn ich deinen Code ausführen lasse, dann bekomme ich diese Fehlermeldungen:
Undefined index: $countnumber
Undefined variable: callduration_name

Wenn du Name1 fest in der While-Schleife verdrahtest, kannst du die Schleife auch ganz weg lassen und es so zuweisen: $callduration_name1 = $namearray['Name1'];
 
Wenn ich das nun über Array mache z.b.

PHP:
foreach($namearray as $name) {
			if ( $row['DestinationName']==$name )
			{
				if ( $row['EndTime']!="" && $row['ConnectTime']!="" )
				{
					$arraycallduration[$name] += (strtotime($row['EndTime'])-strtotime($row['ConnectTime']));
				}
			}

		}

Wie komme ich dann anschließend an alle Namen und Zeiten? Also nochmal foreach und $arraycallduration
 
Zuletzt bearbeitet:
Ja, mit Arrays gehts anscheinend einfacher als Variablen zusammen zu stöpseln. Und ich bin oben einen Schritt weiter als einfach nur auf 0 zu setzen.

Anhand der Variable im Config soll aus der Datenbank im Calllog nachgeschaut werden wieviel Gesprächszeit jeder MA hatte und nachdem die Datenbank ausgelesen wurde soll am Ende noch eine Statistik dargestellt werden, eben mit der Gesprächszeit. Und für letzteres muss ich durchs $arraycallduration iterieren.

So?
PHP:
foreach ($arraycallduration as $name => $value) {
echo "Name: ".$name." Gesprächszeit: ".$value;
}
 
Zurück
Oben Unten