使用in_数组PHP检查此数组
我有一个$checked数组,如下所示:使用in_数组PHP检查此数组,php,arrays,string,Php,Arrays,String,我有一个$checked数组,如下所示: array(2) { [0]=> array(1) { ["id_kategorii"]=> string(1) "2" } [1]=> array(1) { ["id_kategorii"]=> string(1) "4" } } foreach($categories as $category) { $final
array(2) {
[0]=>
array(1) {
["id_kategorii"]=>
string(1) "2"
}
[1]=>
array(1) {
["id_kategorii"]=>
string(1) "4"
}
}
foreach($categories as $category)
{
$final .= '<tr>';
if( in_array($category['id'], $checked) )
{
$final .= '<td>'.form_checkbox(array('name' => 'categories[]', 'value' => $category['id'], 'checked' => 'checked')).'</td>';
}
else
{
$final .= '<td>'.form_checkbox(array('name' => 'categories[]', 'value' => $category['id'])).'</td>';
}
foreach中的$category数组如下所示:
array(2) {
["id"]=>
string(2) "14"
["nazwa"]=>
string(3) "123"
}
array(2) {
["id"]=>
string(1) "8"
["nazwa"]=>
string(5) "ajaja"
}
array(2) {
["id"]=>
string(1) "4"
["nazwa"]=>
string(23) "ale nie no kurde w dupe"
}
等等
但它不是典型的数组,比如数组('1','2','3');
所以我认为因为它,这不起作用,但我不知道
我有这样的PHP代码:
array(2) {
[0]=>
array(1) {
["id_kategorii"]=>
string(1) "2"
}
[1]=>
array(1) {
["id_kategorii"]=>
string(1) "4"
}
}
foreach($categories as $category)
{
$final .= '<tr>';
if( in_array($category['id'], $checked) )
{
$final .= '<td>'.form_checkbox(array('name' => 'categories[]', 'value' => $category['id'], 'checked' => 'checked')).'</td>';
}
else
{
$final .= '<td>'.form_checkbox(array('name' => 'categories[]', 'value' => $category['id'])).'</td>';
}
foreach($categories作为$category)
{
$final.='';
if(在数组中($category['id',$checked))
{
$final.=''.form_复选框(数组('name'=>'categories[],'value'=>$categories['id'],'checked'=>'checked'));
}
其他的
{
$final.=''.form_复选框(数组('name'=>'categories[]','value'=>$categories['id']))。';
}
但它总是伴随着其他东西,in_数组永远不会实现
当类别['id']为2和4时,它应该为真
为什么这个数组不能正常工作?您需要使用
array\u column()
函数重新构造选中的数组
$checked = array(array('id_kategorii' => '2'), array('id_kategorii' => '4'));
$new_checked = array_column($checked, 'id_kategorii');
print_r($new_checked);
然后在
中使用$new\u checked
数组,然后在中使用选中的数组()
您需要使用选中的数组。使用数组列()
可以创建一个新数组,然后在中使用数组()
will work fine你说我必须使用什么?@FrayneKonok我不明白你的观点或想法,为什么要创建新列?你选中的数组应该是:array('2','4')
right?它在foreach-like中首先检查14==2,不,然后检查14==4,不,其他。但是当as$category['id'中有4时没错,因为我们有4美元的支票[1]['id_kategorii']