2012-12-13 2 views
1

У меня есть поток кода, какмассив толчок в PHP

$titlecriteria=array(); 
$title = new MongoRegex("/^$tag/i");      
$titlearray= array("title" => $title); 
array_push($titlecriteria,$titlearray); 

считают меня есть два названия, как «ABC», «опр»

Если я делать так, то $ titlecriteria будет выглядеть как

array(2) (
    [0] => array(1) (
    [title] => MongoRegex object { 
    regex => (string) ^abc 
    flags => (string) i 
    } 
    ) 
    [1] => array(1) (
    [title] => MongoRegex object { 
    regex => (string) ^def 
    flags => (string) i 
    } 
    ) 
) 

ie значение находится внутри другого массива. Я также пробовал array_merge(). Поскольку заголовок ключа такой же, он принимает последнее значение в одиночку. Мне нужен вывод, например

array(2) (
[title] => MongoRegex object { 
    regex => (string) ^abc 
    flags => (string) i 
} 
[title] => MongoRegex object { 
    regex => (string) ^def 
    flags => (string) i 
} 
) 

т.е. все значения находятся в одном массиве. Это возможно? помогите мне

+1

Это не возможно массив содержит два элемента с тем же ключом – galymzhan

+0

Вы не можете иметь все ваши элементы массива одни и те же ключ («название»). Попробуйте $ titlearray = array ($ tag => $ title); и посмотрите, хотите ли вы этого. – siger

ответ

1

Как вы можете использовать два одинаковых ключевых имени в определенном массиве.

Вы можете напрямую вставить объект в массив.

Для Eg:

$title=array(); 
    $obj1=new MongoRegex("/^$tag/i"); 
    $obj2=new MongoRegex("/^$tag/i"); 
    array_push($title,$obj1); 
    array_push($title,$obj2); 

Тогда Accesslike это:

foreach($title as $obj){ 
    $obj; // Your MongoRegex Object 
} 
Смежные вопросы