下面的php数组$tempStyleArray是通过吐出字符串创建的。

$tempStyleArray = preg_split( "/[:;]+/", "width: 569px; height: 26.456692913px; margin: 0px; border: 2px solid black;" );


Array
(
    [0] => width
    [1] =>  569px
    [2] =>  height
    [3] =>  26.456692913px
    [4] =>  margin
    [5] =>  0px
    [6] =>  border
    [7] =>  2px solid black
    [8] =>
)

我必须从这个数组中得到元素的index/key。我试过下面的代码,但似乎没有什么对我有用。
foreach($tempStyleArray as  $value)
{
   if($value == "height") // not satisfying this condition
   {
     echo $value;
     echo '</br>';
     $key = $i;
   }
}

在上面的解中,它不满足条件:(
$key = array_search('height', $tempStyleArray); // this one not returning anything

帮我解决这个问题?我的数组格式有问题吗?

最佳答案

试试这个——

$tempStyleArray = array_map('trim', preg_split( "/[:;]+/", "width: 569px; height: 26.456692913px; margin: 0px; border: 2px solid black;" ));
var_dump($tempStyleArray);
$key = array_search('height', $tempStyleArray);
echo $key;

发生这种情况是因为space中有array值。所以需要trimmed。拆分字符串后,每个值都将通过trim()传递,以便删除white spaces

07-26 00:18