Jump to content

[SOLVED] How to apply functions or TRIM Multi Dimensional Arrays


UpcomingPhpDev

Recommended Posts

Hey again, Yes, It seems I am having another problem with multi dimensional arrays.

 

Basically, I want to strip html, trim, and rmeove whitespace characters from my Array Array's

 

Ive tried, array_walk,Array_map, Array_walk_recursive, Plus other self built functions, But I just cant do it.

 

My array keys arnt numeric.

 

Heres an example code to work with, Hope some1 here maybe able to solve it.

Thanks

 

<?php
$Array = array(array(" RedArrow", "<p>Php)); 

print "<PRE>";
print_r($Array);
print "</PRE>";
?>

You should be able to use either walk or map to traverse through the multi-dimensional array and apply those functions.  The only other way would be:

 

$arr = array( array("   RedArrow", "
Php"));

foreach($arr as $key1 => $value1) {
array_walk($value1, 'trim');
array_walk($value1, 'strip_tags');
}


foreach($arr as $key1 => $value1) {
foreach($value1 as $key2 => $value2) {
	echo $key2 . "=> " . strip_tags(trim($value2)) . "
";
}
}

You should be able to use either walk or map to traverse through the multi-dimensional array and apply those functions.  The only other way would be:

 

<?php
$arr = array( array("   RedArrow", "<p>Php"));

foreach($arr as $key1 => $value1) {
array_walk($value1, 'trim');
array_walk($value1, 'strip_tags');
}


foreach($arr as $key1 => $value1) {
foreach($value1 as $key2 => $value2) {
	echo $key2 . "=> " . strip_tags(trim($value2)) . "<br />";
}
}

 

No this still isnt working, Have yo actually tested your code?

I tried this before I belive as its logical to do so.

 

Thanks

Seems like flyhoney's solution works as well.

 

Output from flyhoney's:

 

Array ( [0] => Array ( [0] => RedArrow [1] => Php ) )

 

(don't know why it bullets my array I guess the "[ 0]" = a bullet point?)

 

Yes, my output is:

 

0=> RedArrow

1=> Php

 

Dont know whats wrong my side then, Thanks still

 

<?php
function clean(&$item) {
$item = strip_tags(trim($item));
}
$input = array( array("          RedArrow   ", "<p>Php"));
array_walk_recursive($input, 'clean');
print_r($input);
?>

 

Yeh this works.

Thanks!

forgot about the recursive feature

Ive tried, array_walk,Array_map, Array_walk_recursive, Plus other self built functions, But I just cant do it.

 

I thought you said you tried it  :P

 

Yeh seems I did say that, Sorry, If I did try that I would have used it wrongly.

 

Thanks for ur help

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.