我有一个数组
$cars = array("Volvo", "BMW", "Toyota", "Mercedes");
我想删除第一个元素“沃尔沃”,并且使用此
unset($cars[0]);
现在我有一个像这样的数组:
Array
(
[1] Bmw
[2] Toyota
[3] Mercedes
)
但是我想我的数组再次从零开始,就像这样:
Array
(
[0] Bmw
[1] Toyota
[2] Mercedes
)
如何做到?
答案 0 :(得分:3)
在未设置操作之后,使用array_values
函数重置阵列。
请注意,此方法适用于所有情况,包括从数组(开始/中间/结尾)中取消设置任何索引键。
array_values()返回数组中的所有值,并对数组进行数字索引。
尝试(Rextester DEMO):
$cars = array("Volvo", "BMW", "Toyota", "Mercedes");
unset($cars[0]);
$cars = array_values($cars);
var_dump($cars); // check and display the array
答案 1 :(得分:2)
使用array_slice()
代替选择数组的特殊部分
var indexRouter = require('./routes/index');
var usersRouter = require('./routes/users');
var catalogRouter = require('./routes/catalog');
var app = express();
var mongoose = require('mongoose');
var mongoDB = 'mongodb://admin:bitracer33@ds123753.mlab.com:23753/alpha_bit_racer';
mongoose.connect(mongoDB);
mongoose.Promise = global.Promise;
var db = mongoose.connection;
db.on('error', console.error.bind(console, 'MongoDB connection error:'));
app.use('/', indexRouter);
app.use('/users', usersRouter);
app.use('/catalog', catalogRouter);
module.exports = app;
在demo中查看结果
答案 2 :(得分:1)
假设您一直想从数组中删除第一个元素,则array_shift
函数将返回第一个元素,并为数组的其余部分重新索引。
$cars = array("Volvo", "BMW", "Toyota", "Mercedes");
$first_car = array_shift($cars);
var_dump($first_car);
// string(5) "Volvo"
var_dump($cars)
// array(3) {
// [0] =>
// string(3) "BMW"
// [1] =>
// string(6) "Toyota"
// [2] =>
// string(8) "Mercedes"
//}