我有一个数组数组,具有以下结构:
array(array('page' => 'page1', 'name' => 'pagename1')
array('page' => 'page2', 'name' => 'pagename2')
array('page' => 'page3', 'name' => 'pagename3'))
Run Code Online (Sandbox Code Playgroud)
是否有内置函数将返回一个只包含'name'键值的新数组?所以我得到:
array('pagename1', 'pagename2', 'pagename3')
Run Code Online (Sandbox Code Playgroud) 我有一个多维数组,比如x列数和y行数.
我特别想要第3列中的所有值.
这样做的显而易见的方法是将它放在这样的for循环中
for(i=0;i<y-1;i++)
{
$ThirdColumn[] = $array[$i][3];
}
Run Code Online (Sandbox Code Playgroud)
但是这里涉及O(n)的明显时间复杂性.有没有内置的方法让我只需从数组中提取每一行而无需循环.
例如(这不适用)
$ThirdColumn = $array[][3]
Run Code Online (Sandbox Code Playgroud) 我有一个多维数组,其中包括ID和URL.我想只输出网址.
$abstract_details = array(
array(
'id' => 68769782222,
'url' => 'http://yourclick.ch'
),
array(
'id' => 111,
'url' => 'http://google.com'
)
);
foreach ($abstract_details as $abstract_detail) {
foreach ($abstract_detail as $get_abstract_detail) {
$result .= $get_abstract_detail . '<br>';
}
}
Run Code Online (Sandbox Code Playgroud)
当我运行我的代码时,我得到了两个信息.如何控制我想要展示的内容?
这个问题只是为了好玩,也许是学习 PHP 速记技巧(如果存在)让我们假设我有这个代码:
$item = $this->get_item($id);
$item = $this->prepare_items(array($item));
$item = $item[0];
Run Code Online (Sandbox Code Playgroud)
默认情况下,*prepare_items* 函数接受一个项目数组并通过一些修改返回它们,因此如果我只想在一个项目上调用它,我应该将它推入一个像上面一样的数组中,但是我必须从我创建的数组。
那么是否有一种速记方法可以做到这一点,例如:
$item = $this->_prepare_items_output(array($item))[0];
// OR
$item = ($item = $this->_prepare_items_output(array($item)))[0];
Run Code Online (Sandbox Code Playgroud)
此外,如果您有一组 PHP 提示和技巧的链接,那就太好了。
我读了一些问题并且我没有解决我的问题我使用的是array_column()但是我对这个愚蠢的问题很困惑
我有一个阵列 $product
$product = array(
0 => array(
'id' => '123',
'name' => 'Facebook status robot',
'description'=> 'Post your wall in your given time',
'quantity' => '1',
'unitPrice' => '120',
'taxable' => 'true'
),
1 => array(
'id' => '123',
'name' => 'Facebook status robot',
'description'=> 'Post your wall in your given time',
'quantity' => '1',
'unitPrice' => '120',
'taxable' => 'true'
),
2 => array(
'id' => '123',
'name' => 'Facebook status robot',
'description'=> 'Post your …Run Code Online (Sandbox Code Playgroud) 我想知道将这个数组减少一个级别的最有效方法是什么,理想情况下没有PHP中的循环.这是mysqli_fetch_all()的结果.
Array
(
[0] => Array
(
[ID] => 648546
)
[1] => Array
(
[ID] => 648552
)
[2] => Array
(
[ID] => 650046
)
[3] => Array
(
[ID] => 652732
)
[4] => Array
(
[ID] => 652738
)
[5] => Array
(
[ID] => 652756
)
)
Run Code Online (Sandbox Code Playgroud)
我想要的结果是
array(648546,648552,650046,652732,...)
Run Code Online (Sandbox Code Playgroud)
它来自的简单查询示例很简单:
SELECT mytable.ID FROM mytable WHERE status =1
Run Code Online (Sandbox Code Playgroud) 我有这个数组:
array:2 [?
0 => array:3 [?
"time" => 7780
"name" => "John A. Doe"
"photo" => "johndoe.png"
]
1 => array:3 [?
"time" => 49800
"name" => "Jane B. Doe"
"photo" => "janedoe.png"
]
]
Run Code Online (Sandbox Code Playgroud)
该time值是秒,我的问题是如何循环遍历数组,以便可以运行以下函数:
"time" => $this->secondsToHumanReadable(49800)
我的函数secondsToHumanReadable已经过测试并且可以正常工作,我只希望它插入time数组结果中的值。
更新:
所需的输出将是:
array:2 [?
0 => array:3 [?
"time" => '2 days, 1 hour, 3 minutes, 45 seconds'
"name" => "John A. Doe"
"photo" => "johndoe.png"
]
1 => array:3 [?
"time" => …Run Code Online (Sandbox Code Playgroud)