将关联数组更改为索引数组/获取 Zend_Table_Row_Abstract 作为非关联数组

发布于 2024-07-26 00:29:59 字数 491 浏览 4 评论 0原文

你好,在斯塔克兰。 我想知道是否有一个函数或一种简单的方法可以将关联数组更改为索引数组。

详细地说,我正在使用 Zend 框架,并且我在我的站点中有一个点,我将 SQL 表的一行作为关联数组取出。 我已通过 JSON 中的回显将其传递给 javascript。 但是,我注意到我可以在 Firebug 中看到数据库列的名称。 让外部人员知道您的表和列的名称是一个很大的安全禁忌,因此我想将其更改为

SQLarray[user_id]
SQLarray[block_id]
SQLarray[b_price] etc.

SQLarray[0]
SQLarray[1]
SQLarray[2] etc.

没有好的方法可以做到这一点?

能够让 Zend_Table_Abstract->fetchAll() 返回非关联数组也可以,但我认为这是不可能的。 感谢您的帮助!

Hi out there in Stackland. I was wondering if there was either a function or an easy way to change an associative array into an indexed array.

To elaborate, I'm using the Zend framework, and I've got a point in my site where I take out a row of an SQL table as an associative array. I've passed it to javascript via an echoed in JSON. However, I've noticed that I can see the names of my database's columns in Firebug. Having outsiders know the names of your tables and columns is a big security no-no, so I'd like to change it from

SQLarray[user_id]
SQLarray[block_id]
SQLarray[b_price] etc.

to

SQLarray[0]
SQLarray[1]
SQLarray[2] etc.

Is there a good way to do this?

It would also work to be able to have a Zend_Table_Abstract->fetchAll() return a non-associative array, but I don't think that's possible. Thanks for your help!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

巴黎盛开的樱花 2024-08-02 00:30:01

如果您不想使用内置的 PHP 函数,您可以使用这段简单的代码。

$input_array;           // This is your input array
$output_array = [];     // This is where your output will be stored.
foreach ($input_array as $k => $v){
    array_push($output_array, $v);
}
print_r($output_array);

You could use this simple piece of code, if you do not want to use the inbuilt PHP function.

$input_array;           // This is your input array
$output_array = [];     // This is where your output will be stored.
foreach ($input_array as $k => $v){
    array_push($output_array, $v);
}
print_r($output_array);
凡间太子 2024-08-02 00:30:00

纯php可以吗?

$array = array_values($array);

来源

Is pure php ok?

$array = array_values($array);

Source

海螺姑娘 2024-08-02 00:30:00

定义函数

function array_default_key($array) {
    $arrayTemp = array();
    $i = 0;
    foreach ($array as $key => $val) {
        $arrayTemp[$i] = $val;
        $i++;
    }
    return $arrayTemp;
}

将关联数组作为参数传递,它将转换为数组的默认索引。 例如:在调用函数后,我们有 Array('2014-04-30'=>43,'2014-04-29'=>41) ,数组将是 数组(0=>43,1=>41)

define function

function array_default_key($array) {
    $arrayTemp = array();
    $i = 0;
    foreach ($array as $key => $val) {
        $arrayTemp[$i] = $val;
        $i++;
    }
    return $arrayTemp;
}

Pass the associative array as a parameter and it will convert into the default index of the array. For example: we have Array('2014-04-30'=>43,'2014-04-29'=>41) after the call to the function the array will be Array(0=>43,1=>41).

原谅我要高飞 2024-08-02 00:30:00

对于多层数组,我使用这个:


function getIndexedArray($array) {
        $arrayTemp = array();
        for ($i=0; $i < count($array); $i++) { 
            $keys = array_keys($array[$i]);
            $innerArrayTemp = array();
            for ($j=0; $j < count($keys); $j++) { 

                $innerArrayTemp[$j] = $array[$i][$keys[$j]];                
            }
            array_push($arrayTemp, $innerArrayTemp);
        }
        return $arrayTemp;
    }

它将这个:变成

(
    [0] => Array
        (
          [OEM] => SG
            [MODEL] => Watch Active2
            [TASK_ID] => 8
            [DEPT_ASSIGNED] => Purchashing  
        )
)

这个:

[0] => Array
        (
          [0] => SG
            [1] => Watch Active2
            [2] => 8
            [3] => Purchashing  
        )

for multi layered array i use this:


function getIndexedArray($array) {
        $arrayTemp = array();
        for ($i=0; $i < count($array); $i++) { 
            $keys = array_keys($array[$i]);
            $innerArrayTemp = array();
            for ($j=0; $j < count($keys); $j++) { 

                $innerArrayTemp[$j] = $array[$i][$keys[$j]];                
            }
            array_push($arrayTemp, $innerArrayTemp);
        }
        return $arrayTemp;
    }

it turns this:

(
    [0] => Array
        (
          [OEM] => SG
            [MODEL] => Watch Active2
            [TASK_ID] => 8
            [DEPT_ASSIGNED] => Purchashing  
        )
)

into this :

[0] => Array
        (
          [0] => SG
            [1] => Watch Active2
            [2] => 8
            [3] => Purchashing  
        )
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文