私はテーブルの「行」(つまり、あなたは$tab[$i]->columnname
」を通じて、各列にアクセスすることができますオブジェクト$tab
の配列を持っている。PHP: "類似の"オブジェクトの2つの配列間の違いを計算する方法は?
私は別のAJAX呼び出しの戻りであるオブジェクトの配列$tab_json
、それを持っています、含まれていあまりに、テーブルの「行」(つまり、あなたは「両方配列がまったく同じcolumsを含ま
。$tab_json[$i]->columnname
が、私はちょうどしたい 『を通じて、各列にアクセスすることができます$tab
に』どれを推測ではないがに存在する。
もちろん、私はarray-intersectとarray-diff関数を知っていますが、オブジェクト比較ではうまく機能していないようです。私が間違っていない限り?ここで
は、私が仕事したいサンプルですが、PHPの例外があります:
tab_json = PHP Catchable fatal error: Object of class stdClass could not be converted to string in sample.php on line 112
はちょうどそれを貼り付け、ファイル(php -f filename.php
)にそれを実行してコピーします。どのように私は何をすべきか?
<?php
$tab = array(
(object)array(
'id' => 1,
'titre' => "Anchois",
'attributs' => array()
),
(object)array(
'id' => 4,
'titre' => "Jambon",
'attributs' => array()
),
(object)array(
'id' => 12,
'titre' => "La Cabro d'or",
'attributs' => array(
(object)array("id" => 1),
(object)array("id" => 8)
)
)
);
$tab_json = array (
(object)array(
'id' => 1,
'titre' => 'Anchois',
'attributs' =>
array (
),
),
(object)array(
'id' => 4,
'titre' => 'Jambon',
'attributs' =>
array (
),
),
(object)array(
'id' => 12,
'titre' => 'La Cabro d\'or',
'attributs' =>
array (
),
),
(object)array(
'id' => 25,
'titre' => 'Vin rouge ou rosé',
'attributs' =>
array (
),
),
(object)array(
'id' => 22,
'titre' => 'Crème oignons lardons',
'attributs' =>
array (
(object)array(
'id' => 1,
),
(object)array(
'id' => 2,
),
),
)
);
echo "tab = "; var_export($tab); echo "\n";
echo "tab_json = "; var_export($tab_json); echo "\n";
echo "tab_json = "; var_export(array_diff($tab_json,$tab)); echo "\n";
?>
同一のオブジェクトまたは異なるオブジェクトを同一のデータと比較していますか? –
同じプロパティだが**多分もっとオブジェクト**、**多分**プロパティの値が変更されている(これは私が実際に推測したいものだ) –
私はちょうど私が働きたい具体的なサンプルを追加した。 –