Arrays : Key in Array, True/False

From: Date: Thu, 01 Jan 1970 00:00:00 +0000
Subject: Arrays : Key in Array, True/False
Groups: php.general 
Request: Send a blank email to php-general+get-46285@lists.php.net to get a copy of this message
Hi there I have a script with a function that builds a more comprehensive kind of array for parsing arguments given a script in PHP (this is a backup-script I'm currently working on). My problem is in "THE PARSING OF ARGS PART" when I'm asking the array if the key exists in the array it returns 0. The key exists, I know because of the output from the function ( var_dump($array) ), but the function 'in_array()' only returns true if I ask for a value. Does anyone know if I can use anything else to give me the possibility to also ask for the keys, or do I have to write a 'in_array()'-kind of function myself ?? #! /local/bin/php -q <?PHP // -*- C++ -*- function parse_arg( $argv, $argc ) { $array = Array(); for ( $i = 0 ; $i < $argc ; $i++ ) { if ( ereg( "-", $argv[ $i ] ) ) { if ( ereg( "-", $argv[ $i + 1 ] ) ) { $array[ "$argv[$i]" ] = ""; } else { $array[ "$argv[$i]" ] = $argv[ $i + 1 ]; $i = $i + 1; } } } var_dump ($array); return $array; } // THE PARSING OF ARGS PART $arr = parse_arg( $argv, $argc ); if ( in_array( "-h", $arr ) ) { // This doesnt work print $usage; exit; } elseif ( in_array( "-b", $arr ) ) { // This doesnt work $backup = 1; } elseif ( in_array( "-d", $arr ) ) { // This doesnt work while ( list ( $key, $val ) = each ( $arr ) ) { if ( $key == "-d" ) { if ( $val == "" ) { print "No PATH to switch \"-d\"\nExiting\n"; exit; } else { $dir = $val; if ( !is_dir( $dir ) ) { print "This directory [$dir] doesnt exist\n"; exit; } else { $run = 1; } } } } } ?> -- Knut ------ Knut H. Hassel Nielsen Principal Engineer / Avdelingsingeniør Norwegian University of Science and Technology / NTNU Department of Computer and Information Science / IDI N-7491 Trondheim, Norway Phone Office / Telefon jobb : (+47) 73 59 18 46 Fax Office / Telefax jobb : (+47) 73 59 17 33 Cell. Phone / Mobiltelefon : 91 59 86 06

« previous php.general (#46285) next »