我不知道如何提高效率,并且正在努力应对编码挑战。有什么提示吗?
目的是在数组中返回唯一值。
Test Conditions Which Code Fails
function solution($A) {
foreach ($A as $key => $value) {
$searchResults = array_keys($A, $value);
//print "Total number of $value found in Array is: " . count($searchResults) . "\n";
$checkNumber = count($searchResults);
if ($checkNumber == 1) {
//print "Unique value is: $value\n";
return $value;
}
//print "\n";
}
}
参考方案
我能想到的最简单的方法是,首先使用array_count_values()
计数每个值的出现次数,然后循环遍历结果并返回出现1次的第一个项目。如果未找到,也会返回false。
function solution($a) {
$counts = array_count_values($a);
foreach ( $counts as $value => $count ) {
if ( $count == 1 ) {
return $value;
}
}
return false;
}
array_count_values()
将遍历整个数组一次(在所有情况下都必须这样做),foreach
循环将遍历结果直到找到一个项目。
编辑:
如果要使用对象作为数据,则可以通过序列化数据然后按照上述相同的过程轻松解决此问题。使用unserialize()
返回数据...
function solution($a) {
$ser = array_map("serialize", $a);
$counts = array_count_values($ser);
foreach ( $counts as $value => $count ) {
if ( $count == 1 ) {
return unserialize($value);
}
}
return false;
}
PHP Count数组元素 - php嗨,有人可以解释为什么这会返回“数组由0个元素组成”。 :$arr = array(1,3,5); $count = count($arr); if ($count = 0) { echo "An array is empty."; } else { echo "An array has $count elements.…
PHP-全局变量的性能和内存问题 - php假设情况:我在php中运行一个复杂的站点,并且我使用了很多全局变量。我可以将变量存储在现有的全局范围内,例如$_REQUEST['userInfo'],$_REQUEST['foo']和$_REQUEST['bar']等,然后将许多不同的内容放入请求范围内(这将是适当的用法,因为这些数据指的是要求自…
PHP-将日期插入日期时间字段 - php我已在数据库中使用datetime字段存储日期,使用PHP将“今天的日期”插入该字段的正确方法是什么?干杯, 参考方案 我认为您可以使用php date()函数
PHP-如何获取类的成员函数列表? - php如果我知道班级的名字。有没有办法知道类的成员函数列表? 参考方案 get_class_methods()是你的朋友
PHP:获取调用引用的数组名称 - php假定以下函数并调用:function doSomething( &$someArray ) { // Do something to $someArray } $names=array("John", "Paul", "George", "Ringo"); doSomet…