Php 当作为函数返回接收时,2D数组将丢失其格式

Php 当作为函数返回接收时,2D数组将丢失其格式,php,multidimensional-array,format,Php,Multidimensional Array,Format,我不明白为什么会这样 function modified_my_2d_array() { my_2d_array = array( 0 => array( 'Unique Identifier' => '1', 'Other Column' => 'Random text', ), 1 => array( 'Unique Identifi

我不明白为什么会这样

    function modified_my_2d_array() {
    my_2d_array = array(
        0 => array(
            'Unique Identifier' => '1',
            'Other Column' => 'Random text',
        ),
        1 => array(
            'Unique Identifier' => '10',
            'Other Column' => 'Random text',
        ),
        2 => array(
            'Unique Identifier' => '300',
            'Other Column' => 'Random text',
        ),
        3 => array(
            'Unique Identifier' => '30',
            'Other Column' => 'Random text',
        ),
    );
    foreach ($my_2d_array as &$row) {
        if (in_array($row['Unique Identifier'], $unique_identifiers_needed)) {
            $row['STO_UID'] = $row['Unique Identifier'];
        }
        else {
            $row['STO_UID'] = str_pad($row['Unique Identifier'], 3, '0', STR_PAD_LEFT);
        }
    }

    // Here the "STO_UID" column is formated as XXX. Ex: 001, 010, 300, 030.
    return $my_2d_array;
}

function calling_function() {
    $my_array = modified_my_2d_array();
    // Here the "STO_UID" column is not formated as XXX anymore. Ex: 1, 10, 300, 30.
}

我试图总是让STO_UID采用XXX格式,但是,当在修改数组的函数中记住该格式时,当将其作为函数的返回数组分配给变量时,其格式将丢失。。。有什么想法吗?

在第一个函数中,
$my\u 2d\u array
来自哪里?它似乎没有定义。我是遗漏了什么,还是遗漏了什么?@Don'tPanic,我没有编写整个函数:这更像是我遇到的问题的模拟函数。。。我会用数组填充来更新这个问题,我想情况就是这样。我只是想如果它作为一个参数传递,在函数中定义,全局,等等,这可能很重要。我不能重现这个。它为我保留格式。您可以在或其他类似的联机shell中显示一个工作(或者,我猜是非工作)的示例吗?不需要in_数组条件,除非
$unique_identifiers\u needed
是一个数组,您没有告诉我们,function调用是错误的:。我也不能重现这个错误。