2014-04-10 100 views
0

我有一个ID数组。现在它有125个ID。我只贴了一些。我想从中选择一个随机ID并在查询中使用它。我正在使用rand_array,但我有一个这样的简单数组:array(1,2,3);与这个新阵列我不知道如何抓取一个随机ID。从数组中获得随机ID

array(125) { 
    [0]=> 
    object(stdClass)#21 (1) { 
    ["id"]=> 
    string(1) "5" 
    } 
    [1]=> 
    object(stdClass)#22 (1) { 
    ["id"]=> 
    string(1) "6" 
    } 
    [2]=> 
    object(stdClass)#23 (1) { 
    ["id"]=> 
    string(1) "7" 
    } 
    [3]=> 
    object(stdClass)#24 (1) { 
    ["id"]=> 
    string(1) "8" 
    } 
    [4]=> 
    object(stdClass)#25 (1) { 
["id"]=> 
string(1) "9" 
    } 
    [5]=> 
    object(stdClass)#26 (1) { 
    ["id"]=> 
    string(2) "10" 
    } 
    [6]=> 
    object(stdClass)#27 (1) { 
["id"]=> 
string(2) "11" 
    } 
    [7]=> 
    object(stdClass)#28 (1) { 
    ["id"]=> 
    string(2) "12" 
    } 
    } 
+0

你有** ** RTM? ['array_rand()'](http://www.php.net/manual/en/function.array-rand.php) –

+1

尝试'$ rand = rand(0,count($ array));'然后'$ array [$ rand];' – ponciste

+0

@ShankarDamodaran:当然''array_rand()'是在这里使用的函数,但默认情况下它不起作用。 OP有一组对象。 –

回答

0

由于@Jackcommented的问题下,这可能是做你想要做什么,最简单的方法:

echo $array[array_rand($array)]->id; 

如果你想为不同目的的ID,你可以从阵列中的对象提取ID和阵列上应用array_rand()

​​
+0

没有使用确切的代码,但它使我走上了正确的轨道。我稍后会发布我的工作代码。 – Ciprian

0

你的新数组是二dimensio最后 - 你需要指定两个ID来获取一个元素。因此,尝试:

$rand = rand(0,count($array)); 
$item=$my_array[$rand]['id']; 

然而所以如果你的print_r它我无法理解你的阵列的结构,我可以完善这一

欢呼

+0

它不是_two-dimensional_数组。这是_array的objects_ –