Php 数组推送问题

Php 数组推送问题,php,arrays,array-push,Php,Arrays,Array Push,我在将对象推入数组时遇到问题 这是我的目标 Products Object ( [id] => [title] => Titel [articlenumber] => Artikelnummer [price] => Prijs [sale_price] => Sale Prijs [description] => Tekst [views] => 1 [brand] => Merk

我在将对象推入数组时遇到问题

这是我的目标

Products Object
(
    [id] => 
    [title] => Titel
    [articlenumber] => Artikelnummer
    [price] => Prijs
    [sale_price] => Sale Prijs
    [description] => Tekst
    [views] => 1
    [brand] => Merk
    [soled] => 0
    [start_date] => 2011-04-21
    [end_date] => 2011-04-28
    [active] => 2
    [sale_text] => Sale Tekst
)
这是我的阵列,我试着把所有的东西都推到一个阵列上

Array
(
    [0] => title, Titel
    [1] => articlenumber, Artikelnummer
    [2] => price, Prijs
    [3] => sale_price, Sale Prijs
    [4] => description, Tekst
    [5] => views, 1
    [6] => brand, Merk
)
正如您所看到的,当他到达项目“soled”时,我的代码停止了,因为该值为0。当我把这个值放在其他值上时,如果可以的话

这是我使用的代码

            $value = array();

        while (next($Product)) {
            $constant = key($Product);  
            array_push($value, $constant.", ".$Product->$constant);         
            echo $constant."<br>";
        }
$value=array();
while(下一个($产品)){
$constant=键($Product);
数组推送($value,$constant.,“$Product->$constant);
回声$constant.“
”; }
我不知道您的确切需求,但值得尝试一个简单的数组转换

$value = (array) $Product;
你的cvrrent方法的问题似乎是零评估为假,我认为一个严格的比较应该解决这个问题

    $value = array();

    while (next($Product) !== false) {
        $constant = key($Product);  
        array_push($value, $constant.", ".$Product->$constant);         
        echo $constant."<br>";
    }
$value=array();
while(下一个($Product)!==false){
$constant=键($Product);
数组推送($value,$constant.,“$Product->$constant);
回声$constant.“
”; }

另一个答案中的
foreach
可能是一个更好的主意,但如果出于任何原因您更喜欢while循环,则需要注意该零点上的比较。

在这种情况下,使用foreach循环可能是一个更好的主意:

$value = array();
foreach($obj as $key => $val)
{
  array_push($value, sprintf("%s, %s", $key, $val));
}