带有条件的ARRAY PHP

时间:2017-07-30 06:06:50

标签: php arrays for-loop sum conditional-statements

我在php中有数组

$a = array(1,2,3,4,5);

当我用条件数组值= 6回显$ a时,它会显示 1 + 5和2 + 4

1 个答案:

答案 0 :(得分:0)

有点不好描述,但我想我明白了。

这将循环$ a并​​找到创建总和的内容 它会对数组进行切片,以确保它不会在最后获得相同的匹配。 (1 + 5& 5 + 1)。

    final SerialDetailSendData sendData = new SerialDetailSendData();
    sendData.setSeriesID(serialID);

    InterfaceApi api = ApiClient.getClient().create(InterfaceApi.class);
    Call<SeriesDetailResponse> call = api.getSeriesDetail(sendData);

    call.enqueue(new Callback<SeriesDetailResponse>() {
        @Override
        public void onResponse(Call<SeriesDetailResponse> call, Response<SeriesDetailResponse> response) {
            if (response.body().getData() != null) {
                ArrayList<String> arrayList = new ArrayList<String>();
                for (int i = 0; i < response.body().getData().getStars().size(); i++) {
                    arrayList.add(response.body().getData().getStars().get(i).getName());
                }
                ArrayAdapter<String> adapter = new ArrayAdapter<String>(context, R.layout.spinner_hint_item, arrayList);
                adapter.setDropDownViewResource(R.layout.spinner_dropdown_item);
                SerialReview_CastSpinner.setAdapter(adapter);

                SerialReview_CastProgress.hide();
            }
        }

        @Override
        public void onFailure(Call<SeriesDetailResponse> call, Throwable t) {
        }
    });

输出:

$a = array(3,5,1,4,2,8,6,7,9,10);

Echo findsum(6, $a);


Function findsum($sum, $a){
    Asort($a);
    $a = Array_values($a);
    Foreach($a as $key => $val){
        If($val>=$sum) break;
        $find = $sum - $val;
        $subarr = array_slice($a, $key+1);
        If (in_array($find, $subarr)) echo $val . "+" . $find . "\n";
    }
}

https://3v4l.org/FHViL

使用更大的数组编辑代码以提高效率 现在它对数组进行排序,当它看到的值大于或等于它所发现的总和时,它将停止 理论上。它应该能够停止1+5 2+4 ,但我不确定