PHP数组在变量中保存元素

时间:2012-03-29 10:32:02

标签: php arrays string element

我有一个看起来像

的数组
Array
(
    [0] => Array
        (
            [0] => <p>How can i get the firstName values from this array? its easy with
  print_r, <strong>but I want individual values</strong></p>
            [1] => How can i get the firstName values from this array? its easy with
  print_r, <strong>but I want individual values</strong>
        )

    [1] => Array
        (
            [0] => <p>You can do:</p>
            [1] => You can do:
        )

    [2] => Array
        (
            [0] => <p>Since your array contains objects eg <code>stdClass</code>, you need to use <code>-&gt;</code> like shown above.</p>
            [1] => Since your array contains objects eg <code>stdClass</code>, you need to use <code>-&gt;</code> like shown above.
        )

)

如何保存字符串变量中每个元素的[1]值。我想得到的是

How can i get the firstName values from this array? its easy with
  print_r, <strong>but I want individual values</strong> You can do: Since your array contains objects eg <code>stdClass</code>, you need to use <code>-&gt;</code> like shown above.

更新:我在开头的数组是:

Array
(
    [0] => <p>try this</p>

<pre><code>foreach($x as $val)
{
echo $val-&gt;firstName;
}
</code></pre>

    [1] => <p>Since you have an array of objects, you can either access each object by the array index or loop through the array to get each seperate object.</p>

<p>Once you have the object it self, you can simply access the first name property of the object.</p>

<p>Example of looping:</p>

<pre><code>foreach ( $array as $object ) {
echo $object-&gt;firstname;
}
</code></pre>

<p>Where $array is the variable containing your array.</p>

<p>Example of accessing via array index:</p>

<pre><code>echo $array[0]-&gt;firstname;
</code></pre>

<p>OR </p>

<pre><code>$obj = $array[0];
echo $obj-&gt;firstname;
</code></pre>

    [2] => <p>Try this (assume <code>$a</code> is your array):</p>

<pre><code>echo $a[0]-&gt;firstname;
</code></pre>

    [3] => <blockquote>
  <p>How can i get the firstName values from this array? its easy with
  print_r, <strong>but I want individual values</strong></p>
</blockquote>

<p>You can do:</p>

<pre><code>foreach($yourArray as $val){
  echo $val-&gt;firstName;
}
</code></pre>

<p>Since your array contains objects eg <code>stdClass</code>, you need to use <code>-&gt;</code> like shown above.</p>

)

然后我用它命名为answerstack:

for($j=0;$j<$answerscnt;$j++){

    preg_match_all("#<p>(.*?)</p>#is",$answerstack[$j],$matches,PREG_SET_ORDER);
    foreach($matches as $item){
        $answerstack[$j]=$item[1]." ";
    }

}

我想要完成的是从第一个数组中移除<code>标签及其之间的文字,但我得到的是

Array
(
    [0] => try this 
    [1] => OR  
    [2] => Try this (assume <code>$a</code> is your array): 
    [3] => Since your array contains objects eg <code>stdClass</code>, you need to use <code>-&gt;</code> like shown above. 
)

3 个答案:

答案 0 :(得分:1)

 $var = "";
 foreach($ext_array as $temp)
     $var .= $temp[1] . ' ';

答案 1 :(得分:1)

看起来是preg_match_all('#<p>(.*)</p>#sU')的结果,您试图删除所有<p>段。

这是另一种方法:

$text = preg_replace('#<p>(.*)</p>#isU', '\1 ', $text);

以下是已编辑问题的解决方案。此代码使用空字符串替换所有<code>标记及其中的所有内容:

// iterate over each element in $answerstack
foreach ($answerstack as &$text){
    // remove all '<code>' from $answerstack
    $text = preg_replace('#<code>(.*)</code>#isU', '', $text);
}

答案 2 :(得分:0)

foreach($your_array as $item){
    echo $item[1]." ";
}