Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
创建一个新数组,该数组具有两个数组的不匹配值,而不使用PHP的任何本机函数_Php_Arrays - Fatal编程技术网

创建一个新数组,该数组具有两个数组的不匹配值,而不使用PHP的任何本机函数

创建一个新数组,该数组具有两个数组的不匹配值,而不使用PHP的任何本机函数,php,arrays,Php,Arrays,我有两个数组 $array1 = array('A','T','L','H','K','L'); $array2 = array('T','L'); 我想要一个新的数组,比如 $array3 = array('A','H','K'); 不使用任何内置PHP函数。首先合并两个数组以循环所有项 然后在合并的数组上循环,如果两个原始数组都不包含该项,则将其添加到结果数组中 function get_all_items_not_shared_by_both_arrays($array1, $arra

我有两个数组

$array1 = array('A','T','L','H','K','L');
$array2 = array('T','L');
我想要一个新的数组,比如

$array3 = array('A','H','K');

不使用任何内置PHP函数。

首先合并两个数组以循环所有项

然后在合并的数组上循环,如果两个原始数组都不包含该项,则将其添加到结果数组中

function get_all_items_not_shared_by_both_arrays($array1, $array2) {
    $merged_array = array_merge($array1,$array2);
    $result_array = array();
    foreach ($merged_array as $item) {
        if ( !(in_array($item,$array1) && in_array($item,$array2)) ) {
            $result_array[] = $item;
        }
    }
    return $result_array;
}

不使用数组函数

    function uniqueArray($array1,$array2) {
        $result = array();
        foreach($array1 as $val1) { //Array1 - Array2
            $flag = 0;
            foreach($array2 as $val2) {
              if($val1 == $val2){
                  $flag = 1;
                  break;
              }
            }
            if($flag == 0) {
                $result[] = $val1;
            }
        }
        foreach($array2 as $val1) { //Array2 - Array1
            $flag = 0;
            foreach($array1 as $val2) {
              if($val1 == $val2){
                  $flag = 1;
                  break;
              }
            }
            if($flag == 0) {
                $result[] = $val1;
            }
        }
        return $result;
    }

不使用任何预定义的数组函数:

$array1 = array('A','T','L','H','K','L');
$array2 = array('T','L');
$array3=array();

foreach($array1 as $val1) {
   $isExists=false;
   foreach($array2 as $val2) {
       if($val2 == $val1){
          $isExists=true;
          break;
       }      
   }
   if(!$isExists)
     $array3[]=$val1;   
}

print_r($array3);
说明:


搜索数组2中不存在数组1元素,然后将元素添加到数组3,并对数组的最后一个元素重复此过程。

您到底想做什么?像您在那里那样初始化新阵列有什么不对?这不是解决测试问题的地方。如果你想学习一些东西,你必须自己完成。
不使用任何内置PHP函数。
。。。。这就是家庭作业。然后试着先自己做,否则你永远也无法证明你的家庭作业得分是合理的