Thursday, 30 August 2018

PHP Convert this associative array to a single string or indexed array

I need to convert this array into a single dimensional indexed array or a string. Happy to discard the first key (0, 1) and just keep the values.

$security_check_whitelist = array
  0 =>
    array
      'whitelisted_words' => string 'Happy' (length=8)
  1 =>
    array
      'whitelisted_words' => string 'Sad' (length=5)

I tried array_values(), but it returned the exact same array structure.
This works:
$array_walker = 0;
$array_size = count($security_check_whitelist);

while($array_walker <= $array_size)
{
   foreach($security_check_whitelist[$array_walker] as $security_check_whitelist_value)
    {
        $security_check[] = $security_check_whitelist_value;
    }
    $array_walker++;
}

But it returns:
Warning: Invalid argument supplied for foreach()
How can I convert the associative array without receiving the warning message? Is there a better way?

foreach ($security_check_whitelist as &$item) {
    $item = $item['whitelisted_words'];
}

Or simply:
$security_check_whitelist = array_map('current', $security_check_whitelist);

0 comments:

Post a Comment