Re: in_array

From: Date: Thu, 06 Apr 2017 13:47:06 +0000
Subject: Re: in_array
References: 1 2  Groups: php.general 
Request: Send a blank email to php-general+get-326060@lists.php.net to get a copy of this message
On 06-04-2017 16:21, Aziz Saleh wrote:
On Thu, Apr 6, 2017 at 4:30 AM, Karl DeSaulniers <karl@designdrumm.com> wrote:
Hello All, Hope you are all experiencing some progress with yours. Looking forward to some on mine. Have a quick question. When traversing an multidimensional array what is the proper way to detect if a value is in one of the indexes of the array? EG: Array1 = array(
         0 => array("pUser" => "Customer", "pType" => "Offset", "pProduct"
=> "Business Cards"),
         1 => array("pUser" => "Retailer", "pType" => "Offset", "pProduct"
=> "Flyers"),
         2 => array("pUser" => "InHouse", "pType" => "Offset", "pProduct"
=> "Business Cards") ); So I have this array and I want to add let's say a customer -> offset -> business cards, but let's also say that there is only 1 customer is allowed to offset print at a time. How would I check for pUser, pType to see if one exists already? I was looking at in_array(), but my brain twisted when the multidimensional came into play. Not sure how to apply. Any help would be greatly appreciated. TIA. Best, Karl DeSaulniers Design Drumm http://designdrumm.com <http://designdrumm.com/>
A few options I can think of: - Loop through the array and compare to find if it exists. - Have the index of the array be the md5 of the unique fields and do an isset before adding. - Keep a separate md5 array of the added values and do in_array. Personally I would prefer the custom keys/isset. or rather than md5 fields, make it more multidimentional and check with isset,
Array1=array(
    "Offset"=>array(
        "Business Cards"=>array(
            "Customer"=>1,
            "InHouse"=>1
        ),
        "Flyers"=>array(
            "Retailer"=>1
        )
    )
) if($Array1["Offset"]["Business Cards"]["Customer"]) or if(isset($Array1["Offset"]["Business Cards"]["Customer"])) will give you what you want

« previous php.general (#326060) next »