我是编程方面的新手,首先研究有关数组的PHP语言。我可以使用sort
函数对数组进行排序,但是我陷入了困境。
如果我输入了array(1,3,5,6,7,8,11,12,17,11)
我尝试获取输出12
或更大的2,但是如果我做print_r($array[i] - 1);
我刚得到10-1=9
。我如何获得价值12
?
,然后如果我输入了array(1,2,3,5,6)
,由于缺少数字4,我尝试获取输出false
。
我做排序功能:
for(int j:0;j<=count($array) ;j++) {
for(int i:0;i<=count($array[i+1]);i++{
if($array[i]>$array[$+1]{
$temp=$array[$i+1];
$array[$i+1]=$array[$i];
$array[$i]=temp;
}
}
}
print_r($array) ;
感谢有人可以帮助我还是教我? :)
答案 0 :(得分:0)
您的代码中有很多语法错误。检查您的问题下的评论,他们几乎覆盖了它。
要使用自定义排序对数组进行排序,可以使用以下方法:
$array = array(1,3,5,6,7,8,11,12,17,11);
$arrayCount = count($array); // no need to evaluate the count on every iteration of the for loop
for($i=0; $i < $arrayCount - 1; $i++)
{
for($j = $i+1; $j < $arrayCount; $j++)
{
// if you want the array sorted from bigger to smaller number use `>` here
if($array[$j] < $array[$i])
{
$temp = $array[$i];
$array[$i] = $array[$j];
$array[$j] = $temp;
}
}
}
print_r($array);
输出:
Array
(
[0] => 1
[1] => 3
[2] => 5
[3] => 6
[4] => 7
[5] => 8
[6] => 11
[7] => 11
[8] => 12
[9] => 17
)
现在要从数组或false
(如果不存在)中检索所需的值,您可以使用内置的array_search()
方法来编写类似的内容:
// Check if array contains a value 12, if it does return the index location in the array
// returns false if the value is not found
$index = array_search(12, $array);
if($index === false)
{
echo 'Value does not exist in the array.';
}
else
{
echo 'Value '.$array[$index].' is at index '.$index.' in the array.';
}