PHP,如何使用函数返回数组的新元素

时间:2019-01-15 19:44:23

标签: php arrays

我想使用函数向数组添加新元素。 这是我的代码:

$test = [];
$test[] = getTest('test_key');

function getTest($key){
    return [$key => 'test_value'];
}

这是结果。多维数组。

Array
(
    [0] => Array
        (
            [test_key] => test_value
        )

)

但是对我来说,这将是一个深层次的发展:) 这是理想的结果:

Array
(
    [test_key] => test_value

)

我做错了什么? :)

2 个答案:

答案 0 :(得分:2)

您正在返回一个数组,然后将其推到您拥有的$ test数组中,这就是为什么它成为多维数组的原因。您可以考虑更改函数名称,但可以这样做:

$test = [];
getTest($test, 'test_key');

function getTest(&$array,$key){
    $array[$key] = 'test_value';
}

答案 1 :(得分:0)

您可以将数组与URL url = null; HttpURLConnection urlConnection = null; try { url = new URL("http://www.websiteurl.co.uk/app/" + databaseName + "/data.csv"); } catch (MalformedURLException error) {} try { urlConnection = (HttpURLConnection) url.openConnection(); InputStream is = new BufferedInputStream(urlConnection.getInputStream()); BufferedReader reader = new BufferedReader(new InputStreamReader(is)); try { if (reader.readLine() != null) { setupAvailable = true; } else { setupAvailable = false; } } finally { try { is.close(); } catch (IOException e) { // handle exception } } } catch (IOException error) {} finally { urlConnection.disconnect(); } 合并。这里将您的结果与原始数组合并。

array_merge

输出:

<?php

function getTest($key){
    return [$key => 'stool'];
}

$test = ['foo'=>'food'];
$test = array_merge($test, getTest('bar'));
print_r($test);