값이 존재하면 배열 비교 값을 추가하고 그렇지 않으면 인덱스에 0

Ch Nabeel

첫 번째 대답 후 내 출력은 내 래팅 길이가 누락 된 하나의 값입니다 Array2에 따르면 Array! ,,,,, 입력 :

이 출력을 원합니다 : 이 유형의 출력을 원합니다내 출력이 0,0,0,0을 받고 있습니다.

길이가 다른 두 배열을 비교하고 싶습니다. 일치하면 값을 더하고 그렇지 않으면 "0"을 추가하고 할당 후 건너 뛰고 첫 번째 루프로 이동합니다.

내 코드 :

for($i=0;$i<count($custt1);$i++){

    for($j=0;$j<count($items);$j++){

        if($items[$j]==$custt1[$i]){
            $x[$j]=$rating[$j]; 
        }
        else{   
            $x[$j]=0;
        }
    }

    for($j=0;$j<count($items1);$j++){

        if($items1[$j]==$custt1[$i]){
            $y[$j]=$rating1[$j];
        }
        else{
            $y[$j]=0;
        }
    }   
}

값이 있으면 x 및 y 배열에 저장하고 그렇지 않으면 "0"등급을 추가하고 첫 번째 루프로 이동하지만 값이 없으면 인덱스 0에 직면하고 있으며 값이 0에 추가되고 8 개 인덱스에 있습니다. 내 설명을 이해하고이 문제를 해결하도록 도와주세요.

now  my output is by applying 1st answer
<br />
<b>Notice</b>:  Undefined offset: 5 in
<b>C:\xampp\htdocs\Rest\new2.php</b> on line
<b>79</b>
<br />

Array
(
    [0] => 1
    [1] => 2
    [2] => 3
    [3] => 0
    [4] => 5
    [5] => 
    [6] => 0
    [7] => 0
    [8] => 0
) 

추천 시스템을 구현하고 있기 때문에

<?php
    $dbhost = "localhost";
    $dbuser = "root";
    $dbpass = "";
    $dbname = "hfc";
    $array;
    $connection = mysqli_connect($dbhost, $dbuser, $dbpass, $dbname);

if ($connection) {
$sql1="SELECT item_name
from feedback

GROUP BY item_name";

$sql="SELECT customer_email_address AS customeremail,
        GROUP_CONCAT(
           DISTINCT CONCAT(cook_email_address,'-',item_name,'-',rating)
        ) AS uniqueItem
   FROM feedback
GROUP BY customer_email_address";

$result = mysqli_query($connection, $sql);
    while ($row = mysqli_fetch_array($result)) 
    {

  $customer_email[] = $row['customeremail'];
    $cust1[]= $row['uniqueItem'].",";
  }



$item[] = explode(",",$cust1[0]);



for($i=0;$i<count($item[0])-1;$i++){
$item_rating[] = explode("-",$item[0][$i]);
}
  print_r ($item_rating);
for($i=0;$i<count($item_rating);$i++){

        $items[]=$item_rating[$i][1];
        $rating[]=$item_rating[$i][2];


}



$item1[] = explode(",",$cust1[1]);


for($i=0;$i<count($item1[0])-1;$i++){
$item_rating1[] = explode("-",$item1[0][$i]);
}
  print_r ($item_rating1);
for($i=0;$i<count($item_rating1);$i++){

        $items1[]=$item_rating1[$i][1];
        $rating1[]=$item_rating1[$i][2];


}



$result1 = mysqli_query($connection, $sql1);
  while ($row = mysqli_fetch_array($result1)) 
    {
    $custt1[]= $row['item_name'];

  }
  print_r ($custt1);
 print_r ($items);
 $output = array();
foreach ($custt1 as  $i =>$item) {

    if (in_array($item, $items)) {
        $output[] = $rating[$i];


    } else {
        $output[] = 0;

    }




}

 print_r ($output);
for($i=0;$i<count($custt1);$i++){

    for($j=0;$j<count($items);$j++){



        if($items[$j]==$custt1[$i]){


        $x[$i]=$rating[$j];

        }
        else{

            $x[$i]=0;



        }


    }


    for($j=0;$j<count($items1);$j++){

        if($items1[$j]==$custt1[$i]){
            $y[$j]=$rating1[$j];

        }

        else{

            $y[$j]=0;

        }
    }


}





 print_r ($x);
 print_r ($y);





  for($i1=0;$i1<count($custt1);$i1++)
  {

     $array[]=explode(",",$custt1[$i1]);  
  }
  // echo count($array);
 // print_r($custt1)."<br>";


  /*for($i=0;$i<count($array);$i++)
  {
     for($y=1;$y<count($array);$y++)
     {
         $pearson=Corr($array[$i],$array[$y],$c=count($array));
     }

  }*/
  $pearson=Corr($array);

   echo $pearson;
}

function Corr(&$arr){
    $x=$arr[0];
    $y=$arr[1];
$length=count($x)-1;

$mean1=array_sum($x)/ $length;
$mean2=array_sum($y)/ $length;

echo $mean1."mean of x";
echo $mean2."mean of y";
echo "\n";
//echo $mean2;

$a=0;
$b=0;
$axb=0;
$a2=0;
$b2=0;

for($i=0;$i<$length;$i++)
{
$a=$x[$i]-$mean1;
$b=$y[$i]-$mean2;
$axb=$axb+($a*$b);
$a2=$a2+ pow($a,2);
$b2=$b2+ pow($b,2);
$corr= $axb / sqrt($a2*$b2);


}   

return $corr;
}

?>
Barmar

in_array()배열 1의 요소가 배열 2에 있는지 확인하는 데 사용 합니다.

$output = array();
foreach ($array1 as $i => $item) {
    if (in_array($item, $array2)) {
        $output[] = $rating[$i];
    } else {
        $output[] = 0;
    }
}

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

특정 값이 0이면 1을 반환하고 그렇지 않으면 열의 원래 값을 반환하는 df에 열을 추가합니다.

분류에서Dev

3 개의 배열을 반복하고 3 번째 배열에 값이있는 경우에만 각 인덱스 위치에 대해 가장 큰 값을 가져옵니다. 그렇지 않으면 0을 반환합니다.

분류에서Dev

Pandas : 열에 값이 있는지 확인하고, 새 열을 만들고, 존재하지 않으면 0을 추가합니다.

분류에서Dev

국가의 재생 가능 비율이 중앙값을 초과하면 1로 새 열을 만듭니다. 그렇지 않으면 0입니다.

분류에서Dev

다른 시트의 행에서 값을 찾고 현재 시트의 일치하는 행 및 열 머리글에 값이 있으면 현재 시트에 배치하고 그렇지 않으면 0

분류에서Dev

other의 값이 nan이 아니고> 0이면 다른 열의 값에서 열의 값을 빼고 그렇지 않으면 건너 뜁니다.

분류에서Dev

값이 존재하면 필터를 적용하고 그렇지 않으면 무시-몽구스

분류에서Dev

열에 숫자가 있으면 총 값 1을 할당하고 그렇지 않으면 0을 할당합니다.

분류에서Dev

폴더 값을 읽고 폴더가 고유 한 경우 배열에 개체를 추가하고 그렇지 않으면 개체 수를 늘립니다.

분류에서Dev

배열에 값이 있는지 확인하고 그렇지 않으면 arraylist에 추가-동시 수정 예외-Java

분류에서Dev

값을 비교하고 배열과 일치하면 추가

분류에서Dev

VBA에서 배열을 반복하고 배열에 값이 포함되어 있으면 1로 일부 셀을 채우고 그렇지 않으면 0으로 채울 수 있습니까?

분류에서Dev

한 배열의 값을 기준으로 체크 박스를 설정하고 체크하면 다른 배열에 값을 추가하는 방법, 그렇지 않으면 각도 js를 사용하여 제거합니까?

분류에서Dev

Mongodb : 값이 존재하지 않는 경우 배열에 값을 추가하고 존재하는 경우 값을 업데이트하는 방법

분류에서Dev

클래스별로 요소 값을 확인하고 요소가 있으면 값을 편집하고 그렇지 않으면 새 HTML을 추가하십시오.

분류에서Dev

다른 테이블에있는 경우 A 열에 값을 배치하고 그렇지 않으면 B 열에 배치하는 방법

분류에서Dev

목록에 값이 있으면 다른 목록에 추가하고, 그렇지 않으면 미리 정의 된 값을 추가합니다.

분류에서Dev

두 개의 객체 목록을 비교하고 이름이 일치하면 그와 관련된 값을 얻고 싶거나 그렇지 않으면 0을 지정하십시오.

분류에서Dev

그렇지 않으면 angularjs의 조건이 문자열과 정수 값을 비교합니다.

분류에서Dev

값이있는 경우 값을 늘리고 그렇지 않으면 DynamoDB에 새 항목을 추가합니다.

분류에서Dev

다른 열이 3이면 열을 반환하고, 그렇지 않으면 0을 반환합니다.

분류에서Dev

열에서 값을 검색하고 행을 덮어 씁니다. 그렇지 않으면 새 행을 추가합니다.

분류에서Dev

해시에 키 / 값 쌍을 추가하는 더 우아한 방법이 있습니까? (키 == nil이면 새 키 / 값을 할당하고 그렇지 않으면 기존 키에 값을 추가합니다.)

분류에서Dev

두 배열을 비교하고 SWIFT 3에서 일반적이지 않은 요소의 인덱스 찾기

분류에서Dev

마지막 행에 연속적으로 나타나면 값을 추가하고 그렇지 않으면 동일한 값을 유지합니다.

분류에서Dev

X 년의 "치료"이후 값이 1이고 그렇지 않으면 0 인 변수를 만듭니다.

분류에서Dev

두 다차원 배열의 값을 비교하고 종료되지 않으면 삽입

분류에서Dev

int가 32보다 작은 지 확인하기 위해 비트 조작을 사용하여 어셈블리 언어를 Mips & 그렇다면 0을 표시하고 그렇지 않으면 (32 이상) 1을 표시합니다.

분류에서Dev

두 개의 다른 디렉토리에있는 기존 파일을 비교하고, 존재하지 않으면 복사하고, 그렇지 않으면 덮어 씁니다.

Related 관련 기사

  1. 1

    특정 값이 0이면 1을 반환하고 그렇지 않으면 열의 원래 값을 반환하는 df에 열을 추가합니다.

  2. 2

    3 개의 배열을 반복하고 3 번째 배열에 값이있는 경우에만 각 인덱스 위치에 대해 가장 큰 값을 가져옵니다. 그렇지 않으면 0을 반환합니다.

  3. 3

    Pandas : 열에 값이 있는지 확인하고, 새 열을 만들고, 존재하지 않으면 0을 추가합니다.

  4. 4

    국가의 재생 가능 비율이 중앙값을 초과하면 1로 새 열을 만듭니다. 그렇지 않으면 0입니다.

  5. 5

    다른 시트의 행에서 값을 찾고 현재 시트의 일치하는 행 및 열 머리글에 값이 있으면 현재 시트에 배치하고 그렇지 않으면 0

  6. 6

    other의 값이 nan이 아니고> 0이면 다른 열의 값에서 열의 값을 빼고 그렇지 않으면 건너 뜁니다.

  7. 7

    값이 존재하면 필터를 적용하고 그렇지 않으면 무시-몽구스

  8. 8

    열에 숫자가 있으면 총 값 1을 할당하고 그렇지 않으면 0을 할당합니다.

  9. 9

    폴더 값을 읽고 폴더가 고유 한 경우 배열에 개체를 추가하고 그렇지 않으면 개체 수를 늘립니다.

  10. 10

    배열에 값이 있는지 확인하고 그렇지 않으면 arraylist에 추가-동시 수정 예외-Java

  11. 11

    값을 비교하고 배열과 일치하면 추가

  12. 12

    VBA에서 배열을 반복하고 배열에 값이 포함되어 있으면 1로 일부 셀을 채우고 그렇지 않으면 0으로 채울 수 있습니까?

  13. 13

    한 배열의 값을 기준으로 체크 박스를 설정하고 체크하면 다른 배열에 값을 추가하는 방법, 그렇지 않으면 각도 js를 사용하여 제거합니까?

  14. 14

    Mongodb : 값이 존재하지 않는 경우 배열에 값을 추가하고 존재하는 경우 값을 업데이트하는 방법

  15. 15

    클래스별로 요소 값을 확인하고 요소가 있으면 값을 편집하고 그렇지 않으면 새 HTML을 추가하십시오.

  16. 16

    다른 테이블에있는 경우 A 열에 값을 배치하고 그렇지 않으면 B 열에 배치하는 방법

  17. 17

    목록에 값이 있으면 다른 목록에 추가하고, 그렇지 않으면 미리 정의 된 값을 추가합니다.

  18. 18

    두 개의 객체 목록을 비교하고 이름이 일치하면 그와 관련된 값을 얻고 싶거나 그렇지 않으면 0을 지정하십시오.

  19. 19

    그렇지 않으면 angularjs의 조건이 문자열과 정수 값을 비교합니다.

  20. 20

    값이있는 경우 값을 늘리고 그렇지 않으면 DynamoDB에 새 항목을 추가합니다.

  21. 21

    다른 열이 3이면 열을 반환하고, 그렇지 않으면 0을 반환합니다.

  22. 22

    열에서 값을 검색하고 행을 덮어 씁니다. 그렇지 않으면 새 행을 추가합니다.

  23. 23

    해시에 키 / 값 쌍을 추가하는 더 우아한 방법이 있습니까? (키 == nil이면 새 키 / 값을 할당하고 그렇지 않으면 기존 키에 값을 추가합니다.)

  24. 24

    두 배열을 비교하고 SWIFT 3에서 일반적이지 않은 요소의 인덱스 찾기

  25. 25

    마지막 행에 연속적으로 나타나면 값을 추가하고 그렇지 않으면 동일한 값을 유지합니다.

  26. 26

    X 년의 "치료"이후 값이 1이고 그렇지 않으면 0 인 변수를 만듭니다.

  27. 27

    두 다차원 배열의 값을 비교하고 종료되지 않으면 삽입

  28. 28

    int가 32보다 작은 지 확인하기 위해 비트 조작을 사용하여 어셈블리 언어를 Mips & 그렇다면 0을 표시하고 그렇지 않으면 (32 이상) 1을 표시합니다.

  29. 29

    두 개의 다른 디렉토리에있는 기존 파일을 비교하고, 존재하지 않으면 복사하고, 그렇지 않으면 덮어 씁니다.

뜨겁다태그

보관