Thursday, 30 August 2018

PHP foreach loop does not work properly

public function include_header( $h, $h_data ) {

    // Require header file
    if (isset($h) && !empty($h)) {
        $this->header_file = 'includes/header/'.$h;
    } else { return false; }

    // Pass optional array of parameters
    if (isset($h_data) && is_array($h_data) && !empty($h_data)) {

        // Loop through array & assign keys to appropriate class members
        foreach($h_data as $key => $val) {

            if ($key == 'doctype') { $this->doctype = $val; }
            if ($key == 'title') { $this->title = $val; }
            if ($key == 'meta') {
                // The meta key is should be an array in h_data
                // so, we'll have to loop through the meta array
                // in order to parse the individual meta elements.
                foreach($key as $meta_key => $meta_val) {
                    $this->error = $meta_key;
                }

            }

        }

    } else { return false; }

}

I'm trying to loop through a multidimensional array, where I have the following variable...
$h_data['meta']['individual_element']
I'm trying to loop through the 'meta', so I can access each individual value, but I'm having trouble. Please help! Thanks in advance!

foreach($key as $meta_key => $meta_val) {
    $this->error = $meta_key;
}

... should be
foreach($val as $meta_key => $meta_val) {
    $this->error = $meta_key;
}

0 comments:

Post a Comment