我有以下PHP数组:
Array
(
[0] => 750
[1] => 563
[2] => 605
[3] => 598
[4] => 593
)
我需要使用PHP对数组执行以下操作:
- 在数组中搜索一个值(该值将在变量;我们称它为
$number
。如果值
如果有人能告诉我怎么做,我将不胜感激。
注意:如果它使它更容易,我可以形成数组,使键与值相同。
$array = array_unique($array) // removes dupicate values
while(false !== ($num = array_search($num, $array))){
unset($array[$num]);
}
$max = max($array);
将搜索所有值为$num的键并取消设置
假设你的$array
$array = array_unique($array) // removes dupicate values
$array = arsort($array)
$variable = $array[0] // the maximum value in the array, and place it in a variable.
$key = array_search($array, $number);
if($key){
unset($array[$key]) // Search array for a value, value is present in array, remove it.
}
array_search()
和unset()
似乎是您的问题中的样本数据的好方法。为了便于比较,我将展示一种不同的方法(或者如果你的用例与你在这里发布的略有不同)。
方法:(演示)
$array=[750,563,605,598,593];
// if removing just one number apply the number as an array element
$number=605;
var_export(array_diff($array,[$number]));
// if you are performing this task with more than one $number, make $numbers=array() and do the same...
$numbers=[605,563]; // order doesn't matter
var_export(array_diff($array,$numbers));
// if you need to re-index the output array, use array_values()...
$numbers=[605,563]; // order doesn't matter
var_export(array_values(array_diff($array,$numbers)));
输出:array (
0 => 750,
1 => 563,
3 => 598,
4 => 593,
)
array (
0 => 750,
3 => 598,
4 => 593,
)
array (
0 => 750,
1 => 598,
2 => 593,
)