希望我的标题能解释清楚!这里有更多细节:
我正在创建一个存储键及其值的数组。例如。
test1 = hello
test2 = world
test3 = foo
计算下一个键的最简洁方法是什么?假设我会知道第一部分是“测试”,但我不知道最高值数字是多少。显然,在这种情况下,我希望它被称为“test4”。
在下面的示例中,我希望下一个键是“test46”,因为它是下一个最大值:
test6 = blah
test45 = boo
test23 = far
希望我的标题能解释清楚!这里有更多细节:
我正在创建一个存储键及其值的数组。例如。
test1 = hello
test2 = world
test3 = foo
计算下一个键的最简洁方法是什么?假设我会知道第一部分是“测试”,但我不知道最高值数字是多少。显然,在这种情况下,我希望它被称为“test4”。
在下面的示例中,我希望下一个键是“test46”,因为它是下一个最大值:
test6 = blah
test45 = boo
test23 = far
这听起来像您应该使用带有数字索引的数组。
但是,您可以使用这样的代码...
$arr = array('test6', 'test45', 'test23');
$max = 0;
foreach($arr as $value) {
$number = filter_var($value, FILTER_SANITIZE_NUMBER_INT);
$max = max($max, $number);
}
$newKey = 'test' . ++$max; // string(6) "test46"
键盘。
不使用循环实现@alex answer:
$arr = array('test6', 'test45', 'test23');
$max = max(filter_var_array($arr, FILTER_SANITIZE_NUMBER_INT));
$newKey = 'test' . ++$max; // string(6) "test46"
这种数据结构最好存储为数组。
$test = array();
$test[] = 'hello';
$test[] = 'world';
$test[] = 'foo';
然后,您无需知道添加新项目的最大数字,只需使用空括号语法(如上所示)将项目添加到数组的末尾。
然后,您可以访问 PHP 提供的大量数组函数来处理数据: http: //php.net/manual/en/ref.array.php
当您想从数组中获取第 43 项时,请使用:
echo $test[42];
数组从 0 开始计数,而不是 1,因此第 43 项的索引为 42。
你用那个干什么?如果必须对数组进行编号,只需使用简单的数字索引数组,如果需要显示为“test1”,只需在键前加上“test”即可:
<?php
$array = array(
6 => 'blah',
45 => 'boo',
23 => 'bar'
);
$array[] = 'new';
echo $array[46] . "\n"; // this is 'new'
foreach( $array as $key => $value ) {
echo "test$key = $value<br />\n"; // test6 = blah
}