$Product = array("aaa","bbb","ccc");
$suppliername = array("S0001","S0002","S0001");
$vals = array_count_values($suppliername);
print_r($suppliername);
print_r($vals);

foreach($Product as $index => $value)
{   
    if($vals[$index]>1)
    {
        echo $suppliername[$index]."+++"."Multiple Entries";
        // Here i have to get S0001
    }
    else
    {
        echo $suppliername[$index]."+++"."Single Entry";
        // Here i have to get S0002
    }

}

Как передать $index в значение массива? Я пытаюсь проверить, что значение индекса больше или нет в условии if. Как это получить?

2
konda 13 Мар 2018 в 11:15

2 ответа

Лучший ответ

С вашим кодом теперь он не может работать, так как ваш результат print_r($val) был:

Array
(
    [S0001] => 2
    [S0002] => 1
)

Ключи вашего $vals являются результатом вашего массива $suppliername, так что попробуйте вот так:

$Product = array("aaa","bbb","ccc");
$suppliername = array("S0001","S0002","S0001");
$vals = array_count_values($suppliername);
print_r($suppliername);
print_r($vals);

foreach($Product as $index => $value)
{
    if($vals[$suppliername[$index]]>1)
    {
        echo $suppliername[$index]."+++"."Multiple Entries";
    }
    else
    {
        echo $suppliername[$index]."+++"."Single Entry";
    }
}

Результат :

S0001+++Multiple Entries
S0002+++Single Entry
S0001+++Multiple Entries

Это то, что вы ищите?

1
Mickaël Leger 13 Мар 2018 в 08:32

Я не уверен, что хорошо понял, что вы хотели, но в результате он делает то, что вы хотите:

<?php

$Product = array("aaa","bbb","ccc");
$suppliername = array("S0001","S0002","S0001");
$vals = array_count_values($suppliername);
echo "<pre>";
var_dump($suppliername);
echo "</pre>";
echo "<pre>";
var_dump($vals);
echo "</pre>";

foreach($Product as $index => $value)
{
    if($index>1)
    {
        echo "<br />" . $suppliername[$index]."+++"."Multiple Entries";
        // Here i have to get S0001
    }
    else
    {
        echo "<br />" . $suppliername[$index]."+++"."Single Entry";
        // Here i have to get S0002
    }

}
-1
kevinniel 13 Мар 2018 в 08:22