search
HomeBackend DevelopmentPHP TutorialPHP code to delete array and two-dimensional array values_PHP tutorial

PHP code to delete array and two-dimensional array values_PHP tutorial

Jul 13, 2016 am 10:54 AM
arrarrayphpandcodevalueFakeelementdeletearraymethodhaveof

The method is as follows:
$arr = array(…………) ;//Suppose there is an array of 10,000 elements with repeated elements.
$arr = array_flip(array_flip($arr)); //This will remove duplicate elements.

What exactly is going on? Let’s look at the function of array_flip(): array_flip() is used to exchange the key and value of each element of an array, such as:
$arr1 = array ("age" => 30, "name" => "Happy Garden");
$arr2 = array_flip($arr1); //$arr2 is array(30 => “age”, “Happy Garden” => “name”);
In PHP arrays, different elements are allowed to take the same value, but the same key name is not allowed to be used by different elements, such as:
$arr1 = array ("age" => 30, "name" => "Happy Garden", "age" => 20); "age" => 20 will replace "age" => 30
$arr1 = array ("name" => "Happy Garden", "age" => 45);
Here $arr1 and $arr2 are equal.
So, we can know why array_flip(array_flip($arr)) can delete duplicate elements in the array. First, the value in $arr will become a key name, because the value is repeated. After becoming a key name, these repeated values ​​will become duplicate key names. The PHP engine will delete the duplicate key names and only keep the last one. . Such as:
$arr1 = array ("age" => 30, "name" => "Happy Garden", "age" => 20);
$arr1 = array_flip($arr1); //$arr1 becomes array("Happy Garden" => "name", 20 => "age");
//Restore the key name and value of $arr1:
$arr1 = array_flip($arr1);

The above code can be written more concisely: $arr1 = array_flip(array_flip($arr1));

I wrote an article about array deduplication above, but it is limited to one-dimensional arrays. The following functions can be used with two-dimensional arrays:
Copy the code. The code is as follows:
//Remove duplicate values ​​from two-dimensional array

function array_unique_fb($array2D)
{
foreach ($array2D as $v)
{
$v = join(",",$v); //For dimensionality reduction, you can also use implode to convert a one-dimensional array into a string connected with commas
$temp[] = $v;
}
$temp = array_unique($temp); //Remove repeated strings, that is, repeated one-dimensional arrays
foreach ($temp as $k => $v)
{
$temp[$k] = explode(",",$v); //Reassemble the disassembled array
}
return $temp;
}

If you want to retain the key values ​​of the array, you can use the following function:
Copy the code. The code is as follows:
//Two-dimensional array removes duplicate values ​​and retains key values

function array_unique_fb($array2D)
{
foreach ($array2D as $k=>$v)
{
$v = join(",",$v); //For dimensionality reduction, you can also use implode to convert a one-dimensional array into a string connected with commas
$temp[$k] = $v;
}
$temp = array_unique($temp); //Remove repeated strings, that is, repeated one-dimensional arrays
foreach ($temp as $k => $v)
{
$array=explode(",",$v); //Reassemble the disassembled array
$temp2[$k]["id"] =$array[0];
$temp2[$k]["litpic"] =$array[1];
$temp2[$k]["title"] =$array[2];
$temp2[$k]["address"] =$array[3];
$temp2[$k]["starttime"] =$array[4];
$temp2[$k]["endtime"] =$array[5];
$temp2[$k]["classid"] =$array[6];
$temp2[$k]["ename"] =$array[7];
}
return $temp2;
}

That’s probably it.
Two-dimensional array deduplication
Copy the code. The code is as follows:

$arr = array(
array('id' => 1,'name' => 'aaa'),
array('id' => 2,'name' => 'bbb'),
array('id' => 3,'name' => 'ccc'),
array('id' => 4,'name' => 'ddd'),
array('id' => 5,'name' => 'ccc'),
array('id' => 6,'name' => 'aaa'),
array('id' => 7,'name' => 'bbb'),
);
function assoc_unique(&$arr, $key)
{
$rAr=array();
for($i=0;$i {
if(!isset($rAr[$arr[$i][$key]]))
{
$rAr[$arr[$i][$key]]=$arr[$i];
}
}
$arr=array_values($rAr);
}
assoc_unique(&$arr,'name');
print_r($arr);
?>


Use PHP’s built-in functions

Description


array array_unique (array $array)
array_unique() accepts an array as input and returns a new array without duplicate values.

Note that the key name remains unchanged. array_unique() sorts the values ​​first as strings, then retains only the first encountered key for each value, and then ignores all subsequent keys. This does not mean that the first occurrence of the same value in an unsorted array will be preserved.

Note: Two cells are considered the same if and only if (string) $elem1 === (string) $elem2. That is, when the expressions of the strings are the same. The first unit will be retained.


Example #1 array_unique() Example

$input = array("a" => "green", "red", "b" => "green", "blue", "red");
$result = array_unique($input);
print_r($result);
?>
The above example will output:

Array
(
[a] => green
[0] => red
[1] => blue
)


Example #2 array_unique() and type

$input = array(4, "4", "3", 4, 3, "3");
$result = array_unique($input);
var_dump($result);
?>
The above example will output:

array(2) {
[0] => int(4)
[2] => string(1) "3"
}

Related tutorials
http://www.bKjia.c0m/phper/php-function/34794.htm

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/632275.htmlTechArticleThe method is as follows: $arr = array();//Suppose there is an array of 10,000 elements with repetitions in it elements. $arr = array_flip(array_flip($arr)); //This will remove duplicate elements. What exactly is...
Statement
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
PHP Performance Tuning for High Traffic WebsitesPHP Performance Tuning for High Traffic WebsitesMay 14, 2025 am 12:13 AM

ThesecrettokeepingaPHP-poweredwebsiterunningsmoothlyunderheavyloadinvolvesseveralkeystrategies:1)ImplementopcodecachingwithOPcachetoreducescriptexecutiontime,2)UsedatabasequerycachingwithRedistolessendatabaseload,3)LeverageCDNslikeCloudflareforservin

Dependency Injection in PHP: Code Examples for BeginnersDependency Injection in PHP: Code Examples for BeginnersMay 14, 2025 am 12:08 AM

You should care about DependencyInjection(DI) because it makes your code clearer and easier to maintain. 1) DI makes it more modular by decoupling classes, 2) improves the convenience of testing and code flexibility, 3) Use DI containers to manage complex dependencies, but pay attention to performance impact and circular dependencies, 4) The best practice is to rely on abstract interfaces to achieve loose coupling.

PHP Performance: is it possible to optimize the application?PHP Performance: is it possible to optimize the application?May 14, 2025 am 12:04 AM

Yes,optimizingaPHPapplicationispossibleandessential.1)ImplementcachingusingAPCutoreducedatabaseload.2)Optimizedatabaseswithindexing,efficientqueries,andconnectionpooling.3)Enhancecodewithbuilt-infunctions,avoidingglobalvariables,andusingopcodecaching

PHP Performance Optimization: The Ultimate GuidePHP Performance Optimization: The Ultimate GuideMay 14, 2025 am 12:02 AM

ThekeystrategiestosignificantlyboostPHPapplicationperformanceare:1)UseopcodecachinglikeOPcachetoreduceexecutiontime,2)Optimizedatabaseinteractionswithpreparedstatementsandproperindexing,3)ConfigurewebserverslikeNginxwithPHP-FPMforbetterperformance,4)

PHP Dependency Injection Container: A Quick StartPHP Dependency Injection Container: A Quick StartMay 13, 2025 am 12:11 AM

APHPDependencyInjectionContainerisatoolthatmanagesclassdependencies,enhancingcodemodularity,testability,andmaintainability.Itactsasacentralhubforcreatingandinjectingdependencies,thusreducingtightcouplingandeasingunittesting.

Dependency Injection vs. Service Locator in PHPDependency Injection vs. Service Locator in PHPMay 13, 2025 am 12:10 AM

Select DependencyInjection (DI) for large applications, ServiceLocator is suitable for small projects or prototypes. 1) DI improves the testability and modularity of the code through constructor injection. 2) ServiceLocator obtains services through center registration, which is convenient but may lead to an increase in code coupling.

PHP performance optimization strategies.PHP performance optimization strategies.May 13, 2025 am 12:06 AM

PHPapplicationscanbeoptimizedforspeedandefficiencyby:1)enablingopcacheinphp.ini,2)usingpreparedstatementswithPDOfordatabasequeries,3)replacingloopswitharray_filterandarray_mapfordataprocessing,4)configuringNginxasareverseproxy,5)implementingcachingwi

PHP Email Validation: Ensuring Emails Are Sent CorrectlyPHP Email Validation: Ensuring Emails Are Sent CorrectlyMay 13, 2025 am 12:06 AM

PHPemailvalidationinvolvesthreesteps:1)Formatvalidationusingregularexpressionstochecktheemailformat;2)DNSvalidationtoensurethedomainhasavalidMXrecord;3)SMTPvalidation,themostthoroughmethod,whichchecksifthemailboxexistsbyconnectingtotheSMTPserver.Impl

See all articles

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Integrate Eclipse with SAP NetWeaver application server.

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

This project is in the process of being migrated to osdn.net/projects/mingw, you can continue to follow us there. MinGW: A native Windows port of the GNU Compiler Collection (GCC), freely distributable import libraries and header files for building native Windows applications; includes extensions to the MSVC runtime to support C99 functionality. All MinGW software can run on 64-bit Windows platforms.

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

Powerful PHP integrated development environment

mPDF

mPDF

mPDF is a PHP library that can generate PDF files from UTF-8 encoded HTML. The original author, Ian Back, wrote mPDF to output PDF files "on the fly" from his website and handle different languages. It is slower than original scripts like HTML2FPDF and produces larger files when using Unicode fonts, but supports CSS styles etc. and has a lot of enhancements. Supports almost all languages, including RTL (Arabic and Hebrew) and CJK (Chinese, Japanese and Korean). Supports nested block-level elements (such as P, DIV),