Archief - PHP: Multidimensional array + in_array

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

Eversite

Legacy Member
Dit script leest een .txt file, zet ze om in een multidimensional array en kijkt of een bepaalde value en key bestaat. Probleem is echter dat het niet werkt.

PHP:
function parse_content ($section, $topic){

$content_ini = parse_ini_file("file.txt", true);

    if (in_array($topic, $content_ini[$section])){
      echo "Found!";
    } else {
    echo "not found";
    }

$content = $content_ini[$section][$topic];
echo $content;

echo "<pre>";
print_r ($content_ini);
echo "</pre>";

}

Het script heeft dit weer:

Code:
not found1
Array
(
    [home] => Array
        (
            [one] => 1
            [five] => 5
            [animal] => BIRD
        )

    [projects] => Array
        (
            [path] => /usr/local/bin
            [URL] => [url]http://www.example.com/~username[/url]
        )

)

Wat ik eigenlijk wil, is dat 'Found' geprint wordt en niet 'not found'...

Wat doe ik fout?

dJeez

Legacy Member
Probeer 't volgende eens ipv wat er nu staat, ik denk dat het dat is dat je parten speelt:
PHP:
  if (in_array($topic, array_keys($content_ini[$section])))

Eversite

Legacy Member
idd, werk perfect thx...

Als tussen oplossing had ik dit gevonden, maar jouw oplossing is beter...

PHP:
function parse_content ($section, $topic){
$content_ini = parse_ini_file("file.txt", true);

if (array_key_exists($section, $content_ini)) {

	if (array_key_exists($topic, $content_ini[$section])) {
	echo $content_ini[$section][$topic]; 
	}

}
}

echo parse_content ("home","one");
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan