我有一个数组,每个包含值是另一个具有一个值的数组.我一直在寻找一种平整阵列并成功的方法,但不知何故,我有这种感觉,它可以做得更好.这是最好的方式还是可以改进?
<?php
$array = array(
'1' => array('id' => '123'),
'2' => array('id' => '22'),
'3' => array('id' => '133'),
'4' => array('id' => '143'),
'5' => array('id' => '153'),
);
array_walk_recursive($array, function($v, $k) use (&$result) {
$result[] = $v;
});
Run Code Online (Sandbox Code Playgroud) 好吧,我猜这个问题非常明显.
如果我有:
$now = new DateTime();
print $now->format('l, M d');
Run Code Online (Sandbox Code Playgroud)
我可以用其他语言输出该日期吗?
我有以下数组
$dates = array(
'2015-02-13',
'2015-04-21',
'2015-08-18',
'2015-11-26',
'2015-09-15',
'2015-01-07',
'2015-02-11',
'2015-07-14',
'2015-03-02',
);
Run Code Online (Sandbox Code Playgroud)
我想从最久前到最近的日期对这个数组进行排序.
foreach ($dates as $date) {
$date = new DateTime($date);
// The logic I need
}
Run Code Online (Sandbox Code Playgroud)
你能救我吗?
我想指出日期格式可能会有所不同.为了详细说明,我在我的数据库日期格式为YYYY-MM-DD,YYYY/MM/DD,DD-MM-YYYY和DD/MM/YYYY.
但正如下面建议的那样,我可以重新格式化日期并构建一个新数组.所以这可能不是问题.
采取以下数组:
$fruits = [
'apple', 'banana', 'grapefruit', 'orange', 'melon'
];
Run Code Online (Sandbox Code Playgroud)
葡萄柚令人恶心,所以我想取消它。
$key = array_search('grapefruit', $fruit);
unset($fruit[$key]);
Run Code Online (Sandbox Code Playgroud)
葡萄柚不在我的$fruit数组中,但是我的键不再正确编号。
array(4) {
[0] => 'apple'
[1] => 'banana'
[3] => 'orange'
[4] => 'melon'
}
Run Code Online (Sandbox Code Playgroud)
我可以遍历该数组并创建一个新数组,但我想知道是否有更简单的方法来重置密钥。
我正在建立一个小游戏,并陷入开发调平系统.我创建了一个函数,它将指数级地增加下一级所需的体验.但是,我不知道如何扭转它,以便我可以投入用户获得的经验并获得相应的级别.
function experience($level, $curve = 300) {
// Preset value to prevent notices
$a = 0;
// Calculate level cap
for ($x = 1; $x < $level; $x++) {
$a += floor($x+$curve*pow(2, ($x/7)));
}
// Return amount of experience
return floor($a/4);
}
Run Code Online (Sandbox Code Playgroud)
我想知道如何对这个函数进行逆向工程,以便为一定的经验返回正确的级别.
使用上面的函数,我的代码将输出以下内容:
Level 1: 0
Level 2: 83
Level 3: 174
Level 4: 276
Level 5: 388
Level 6: 512
Level 7: 650
Level 8: 801
Level 9: 969
Level 10: 1154
Run Code Online (Sandbox Code Playgroud)
我正在寻找的是一种方法来反转这个功能,以便我可以输入一定数量,它将返回相应的水平.
例如,1000经验应该返回9级.