test.xml
<?xml version="1.0" encoding="UTF-8"?>
<items>
<item>
<id>1</id>
<num>10</num>
<text>text1</text>
</item>
<item>
<id>2</id>
<num>8</num>
<text>text2</text>
</item>
<item>
<id>3</id>
<num>17</num>
<text>text3</text>
</item>
<item>
<id>4</id>
<num>5</num>
<text>text4</text>
</item>
<item>
<id>5</id>
<num>9</num>
<text>text5</text>
</item>
</items>
How to do if <num> >=9 , shuffle the items and print the <text>?
$xml = simplexml_load_file('test.xml');
foreach ($xml->item as $key=>$data){
if(($data->num)>=9){
...
}
}
need out put like:
text1 text3 text5 OR text1 text5 text3 OR text3 text1 text5 … //text1 text3 text5 is not smaller than 9, then print them and make their position radom
When they pass, add them to an (associative) array.
After the foreach loop,
shuffle($array)will shuffle them and then print them as usual (echo $array[0].$array[1].$array[2]).Is this what you were looking for?
EDIT:
And then:
This will leave a trailing space. This is better: