Мне сложно понять, почему я не могу сравнивать значения двух массивов в PHP. Если я повторяю оба из них во время цикла, используя «echo $ description-> ItemDesriptionName;» и "echo $ item-> ItemName;" значения кажутся одинаковыми, но когда я пытаюсь их сравнить, используя, если ничего не работает. Что мне не хватает?Сравнение массивов PHP с использованием If
<?php
$xml=simplexml_load_file("test.xml") or die("Error: Cannot create object");
$categories = $xml->Menu->Categories;
$items = $xml->Menu->Categories->Items->ItemObject;
$itemdescription = $xml->Menu->Options->Description->DescriptionObject;
foreach($items as $item) {
echo $item->ItemName . ' - ' . $item->Price . '</br>';
foreach ($itemdescription as $description) {
if ($description->ItemDescriptionName == $item->ItemName) {
echo 'We have a match!';
//where I would echo $description->ItemDescription;
}
}
}
?>
Вот файл XML
<?xml version="1.0" encoding="utf-8"?>
<Root>
<Menu>
<Categories>
<Name>Category 1</Name>
<Items>
<ItemObject>
<ItemName>Item 1</ItemName>
<Price>1</Price>
</ItemObject>
<ItemObject>
<ItemName>Item 2</ItemName>
<Price>3</Price>
</ItemObject>
</Items>
</Categories>
<Options>
<Description>
<DescriptionObject>
<ItemDescriptionName>Item 1</ItemDescriptionName>
<ItemDescription>A Great item</ItemDescription>
</DescriptionObject>
<DescriptionObject>
<ItemDescriptionName>Item 2</ItemDescriptionName>
<ItemDescription>A Great item as well</ItemDescription>
</DescriptionObject>
</Description>
</Options>
</Menu>
</Root>
У вашего IF есть опечатка, есть ли у вас опечатка в вашем источнике? Описание свойства ItemDescriptionName отсутствует 'n' – Graeme
Источник не сделал, но он все еще не работает. Спасибо – Giovanni