给定以下数组:
Array
(
[0] => Array
(
[id_contract] => 1
[contract_months] => 5
[months_with_expenses] => 1
)
[1] => Array
(
[id_contract] => 2
[contract_months] => 12
[months_with_expenses] => 0
)
[2] => Array
(
[id_contract] => 3
[contract_months] => 1
[months_with_expenses] => 1
)
)
Run Code Online (Sandbox Code Playgroud)
如何从数组中删除键“contract_months”与键“month_with_expenses”不匹配的所有元素?
我正在使用 PHP。
如何删除数组中的重复项?
例如,如果我有以下数组:
$array = array('1','1','2','3');
Run Code Online (Sandbox Code Playgroud)
我希望它成为
$array = array('2','3');
Run Code Online (Sandbox Code Playgroud)
所以如果找到其中两个,我希望它删除整个值
我想更好地理解数组.请原谅我的基本问题,因为我刚刚在三周前打开了我的第一本php书.
我知道您可以使用foreach(或for循环)检索键/值对,如下所示.
$stockprices= array("Google"=>"800", "Apple"=>"400", "Microsoft"=>"4", "RIM"=>"15", "Facebook"=>"30");
foreach ($stockprices as $key =>$price)
Run Code Online (Sandbox Code Playgroud)
令我困惑的是像这样的多维数组:
$states=(array([0]=>array("capital"=> "Sacramento", "joined_union"=>1850, "population_rank"=> 1),
[1]=>array("capital"=> "Austin", "joined_union"=>1845,"population_rank"=> 2),
[2]=>array("capital"=> "Boston", "joined_union"=>1788,"population_rank"=> 14)
));
Run Code Online (Sandbox Code Playgroud)
我的第一个问题非常基本:我知道"大写","joined_union","population_rank"是关键,"萨克拉门托","1850","1"是值(正确吗?).但你怎么称呼[0] [1] [2]?它们是"主键"和"大写"等子键吗?我找不到任何定义;无论是在书中还是在线.
主要问题是如何检索数组[0] [1] [2]?假设我想在1845年获得join_union的数组(或者在19世纪更加棘手),然后删除该数组.
最后,我可以将Arrays [0] [1] [2]命名为加利福尼亚州,德克萨斯州和马萨诸塞州吗?
$states=(array("California"=>array("capital"=> "Sacramento", "joined_union"=>1850, "population_rank"=> 1),
"Texas"=>array("capital"=> "Austin", "joined_union"=>1845,"population_rank"=> 2),
"Massachusetts"=>array("capital"=> "Boston", "joined_union"=>1788,"population_rank"=> 14)
));
Run Code Online (Sandbox Code Playgroud) 我正在为Wordpress安装创建一个设置系统,如果当前网站不需要,超级管理员可以禁用某些ACF灵活内容布局,而无需修改插件的结构.
我正在寻找一种方法来列出新管理页面中所有可用的ACF灵活内容布局.
浏览插件的文件夹后,我在里面找到了以下代码class-acf-field-flexible-content.php:
<script type="text-html" class="tmpl-popup"><?php
?><div class="acf-fc-popup"><ul><?php foreach( $layouts as $layout ):
$atts = array(
'href' => '#',
'data-layout' => $layout['name'],
'data-min' => $layout['min'],
'data-max' => $layout['max'],
);
?><li><a <?php acf_esc_attr_e( $atts ); ?>><?php echo $layout['label']; ?></a></li><?php
endforeach; ?></ul></div>
</script>
Run Code Online (Sandbox Code Playgroud)
其中构建了客户端在创建新帖子/页面时使用的可用布局列表.
有没有人知道一种简单的方法,我可以在PHP中构建一个ACF布局数组,我可以只在WP管理器内的不同页面上显示?
对不起,我没有任何代码可以显示,这是一个独特的请求
我有一个PHP例程来处理表单并将值输出到CSV文件.我正在使用array_keys()创建标题行(如果有的话,跳过).一切都很完美,除了最后的标题术语是"提交",因为当然,我的表单包含一个提交按钮.所以数据最终看起来像这样:
name,email,cell,dob,study,submit
"Temp One",fred@gmail.com,646-325-1111,1995-03-31,8,Submit
"Temp Two",tom@gmail.com,646-325-2222,1995-03-31,4,Submit
Run Code Online (Sandbox Code Playgroud)
如何从标题和数据中省略提交按钮?
这是我的代码:
if(isset($_POST['submit'])) {
$data = array_values($_POST); // get only values
$headers = array_keys($_POST); // keys are headers
if( $fp = fopen('data.csv','a+')) {
$line = fgets($fp);
if(!$line == $headers) {
fputcsv($fp, $headers);
fputcsv($fp, $data);
}
else
{
fputcsv($fp, $data);
}
fclose($fp);
header('Location: thanks.php');
}
}
Run Code Online (Sandbox Code Playgroud) 我有一个大型数组(为方便起见简化):
Array
(
[last_name] => Ricardo
[first_name] => Montalban
[sex] => Yes please
[uploader_0_tmpname] => p171t8kao6qhj1132l14upe14rh1.jpg
[uploader_0_name] => IMAG0114-1.jpg
[uploader_0_status] => done
[uploader_count] => 1
[captcha_uid] => 155
)
Run Code Online (Sandbox Code Playgroud)
并希望删除键所在的所有键值对uploader_(可以是一系列)以及每次出现的键值对captcha_uid.
我在这里看到了一个有用的例子: 如果值与模式匹配,则删除一个键? 但我对正则表达式很糟糕.如何最佳地做到这一点?非常感谢您的观点.
我目前正在尝试使用array_diff从数组中删除1个值.
代码现在看起来像这样:
$item_id = 501;
$array = array_diff($user_items, array($item_id));
Run Code Online (Sandbox Code Playgroud)
用户项目数组:501,501,502,502
结果正确的数组:502,502
是否可以仅删除1x501而不是2x501值?或者说不同:将删除限制为1
数组是:501,502,502
任何建议表示赞赏
我有一个包含数组的会话.该数组包含以下数据:
Array (
[0] => /assets/img/user_photos/thumbs/9c2310c2def9981221ec37cbbafe0370.jpg
[1] => /assets/img/user_photos/thumbs/286b59eb3dafe2e0cf0df50e45f10250.jpg
[2] => /assets/img/user_photos/thumbs/4e6012cc396252594d2a05850b0a35ae.jpg
[3] => /assets/img/user_photos/thumbs/49ce9031319203c1911c0b9789a83ffc.jpg
[4] => /assets/img/user_photos/thumbs/da21379f3dc80541a087e1c4db5f929a.jpg
[5] => /assets/img/user_photos/thumbs/1f46378fdd7dcf7fda580e50ca92a2d0.jpg
)
Run Code Online (Sandbox Code Playgroud)
我想从这个数组中删除一个项目.当数组存储在会话中时,这怎么可能?
有更简单的方法吗?
$array = array(1,57,5,84,21,8,4,2,8,3,4);
$remove = 21;
$i = 0;
foreach ($array as $value ){
if( $value == $remove)
unset($array[$i])
$i++;
}
//array: 1,57,5,84,8,4,2,8,3,4
Run Code Online (Sandbox Code Playgroud)