您认为在MySQL数据库中的记录中存储一些图像ID的更好方法是什么?它只是用于从不同库中获取图像的图像ID.
我是否会像1#4#7#9#10#12那样在记录中内爆id或者我只是序列化数组并存储它?使用一个而不是另一个是否有任何性能优势?稳定性偏好?
我总是使用内爆和爆炸,从来没有真正考虑过.谢谢.
我试图在Java中复制php函数implode().
这就是我所做的:
private String implode(String delimiter, Map<String, String> map){
StringBuilder sb = new StringBuilder();
for(Entry<String, String> e : map.entrySet()){
sb.append(" "+delimiter+" ");
sb.append(" " + e.getKey() + " = '" + e.getValue() + "' ");
}
return sb.toString();
}
Run Code Online (Sandbox Code Playgroud)
测试:
Map<String, String> myList = new HashMap<String, String>();
myList.put("address", "something1");
myList.put("last_name", "something2");
myList.put("first_name", "something3");
update_database("dummy", myList, "");
public void update_database(String table, Map<String, String> update_list, String condition){
String query = "UPDATE " + table + " SET ";
query += implode(",", update_list) …Run Code Online (Sandbox Code Playgroud) 我制作了一些 SimpleXMLObject 并将其转换为数组并内爆它们,但结果不是内爆字符串,而是单独的数组的第一个元素。
更有趣的是,它在我的本地服务器(版本为 5.4.4)中按预期工作,但故障发生在我的 php 版本为 5.3.13 的实时服务器中,这就是我的内爆的样子
$im_data = implode( '#', (array)$sync->datas->data);
Run Code Online (Sandbox Code Playgroud)
目标数组如下:
[datas] => SimpleXMLElement Object
(
[data] => Array
(
[0] => AAzdfAA
[1] => BBdBB
[2] => BBDD
[3] => CCCCzsdfC
)
)
Run Code Online (Sandbox Code Playgroud)
但结果不是 AAzdfAA#BBdBB#BBDD#CCCCzsdfC,而是我的实时服务器中的 AAzdfAA。在我的本地服务器中,它按预期工作:AAzdfAA#BBdBB#BBDD#CCCCzsdfC
我有一个php表单,其中有一个复选框选项,如果用户选择"其他",则会显示一个文本输入.这很好但数据没有提交.我得到错误消息PHP implode():传递的参数无效
这是:
PHP验证
if(!isset($_POST['competitor_model'])){
echo '<p><font color="red" size="+1">• Please select at least one competitor model</font></p>';
} else {
$compmodel = implode(',', $_POST['competitor_model']);
}
Run Code Online (Sandbox Code Playgroud)
这是JS/HTML表单
<script type="text/javascript">
var temp = '';
function disableTxt() {
var field = document.getElementById("other");
if(field.value != '') {
temp = field.value;
}
field.style.display = "none";
field.value = '';
}
function enableTxt() {
document.getElementById("other").style.display = "inline";
document.getElementById("other").value = temp;
}
</script>
<input type="checkbox" value="BMW 3-series" onchange="disableTxt()" name='competitor_model[]'>BMW 3-series<br>
<input type="checkbox" value="Mercedes Benz C-class" onchange="disableTxt()" name='competitor_model[]'>Mercedes Benz …Run Code Online (Sandbox Code Playgroud) 我有一个这样的数组。
$array = array();
$array[] = 'how';
$array[] = 'are';
$array[] = 'you';
Run Code Online (Sandbox Code Playgroud)
我都试过了echo implode( "\n", $array ); exit; die;,echo implode( PHP_EOL, $array ); exit; die;但它总是在同一行输出,而不是:
怎么
是
你
如何将数组内爆到新行?
我有关联数组与包含数据的数据库的结果,如下面的结构:
$arr[0] = Array("id"=>4, "otherdata"=>"something");
$arr[1] = Array("id"=>6, "otherdata"=>"something else");
$arr[2] = Array("id"=>15, "otherdata"=>"something totally different");
Run Code Online (Sandbox Code Playgroud)
我想破坏id每个$arr条目中只有键的数据,以便最终内爆的字符串4,6,15(粘合,).
现在我有一些解决方案:
但他们俩都不高兴.
有没有其他简单的方法来达到预期的效果?
我有一个有多个类别的表单.它们由复选框分隔,因此可以检查其帖子/故事所属的任意数量的类别.
这些值存储在db行中,在INSERT时用逗号分隔它们
GetSQLValueString(implode($_POST['r_category'],", "), "text"),
Run Code Online (Sandbox Code Playgroud)
所以在数据库中我可以有一个如下所示的条目:
2,3,6,12
Run Code Online (Sandbox Code Playgroud)
这些是类别编号.
我现在正在构建一个编辑表单功能,用于编辑和更新这些记录.我找不到一种方法将值"爆炸"到编辑表单上的复选框?
因此,如果你登录并转到你想要编辑的ENTRY,我有Checkboxes分隔类别,所以很容易检查和取消选中添加而不是添加...我已经尝试了所有我能得到的东西POST的值,并在查看此编辑表单时进行检查.
这是我的编辑表单页面上的一个类别复选框的示例,但是当我有多个类别时,它不起作用,如上面的示例.. 2,3,6,12 ?? :
<input type="checkbox" name="r_category[]"
<?php if (!(strcmp("2", $row_Recordset2['r_category']))) {
echo "checked=\"checked\"";} ?> value="2" />Cat 2
Run Code Online (Sandbox Code Playgroud)
在此先感谢NINJAS !!
我有一个json_encode元素,我必须像这样内爆
<?php
$user = json_decode($var);
$fetch_array = implode(",", $user);
?>
Run Code Online (Sandbox Code Playgroud)
使用debug print_f这样的数组结果
Array( [0] => stdClass Object ( [id] => 4 [name] => Elis )
[1] => stdClass Object ( [id] => 5 [name] => Eilbert ))1
Run Code Online (Sandbox Code Playgroud)
它导致错误:类stdClass的对象无法转换为字符串
我的目标是使用这个json数组和mysql上的语句SELECT IN,
SELECT * FROM table WHERE field IN $user
Run Code Online (Sandbox Code Playgroud)
我认为我必须破坏它.如果我删除函数implode它显示我(数组,数组)
我怎样才能做到这一点?
我每次访问我的wordpress网站时都会在apache日志中收到此警告:
[错误] [client myiphere] PHP警告:implode():在第16行的/var/www/mysitepath/wp-content/themes/mytheme/noscript/views/list-view.php中传递的参数无效,参考文献:http: //www.example.com/
这是list-view.php的一部分:
<?php
$mytheme = mytheme::getInstance();
$currentContentLayout = $mytheme->WPData['currentContentLayout'];
$contentLayout = $mytheme->settings->contentLayouts->{$currentContentLayout};
$headerClasses = array();
if('no' == $contentLayout->metaPosition){
$headerClasses = 'no-meta';
} else {
$headerClasses[] = 'meta-' . $contentLayout->metaPosition;
}
?>
<div class="mytheme-list-view row">
<div class="large-12 columns">
<?php while(have_posts()){ the_post();?>
<article id="post-<?php the_ID();?>" <?php post_class();?> data-mytheme-post-from-id="<?php the_ID();?>">
<header class="entry-header <?php echo implode(' ', $headerClasses);?>">
...
...
Run Code Online (Sandbox Code Playgroud)
代码有什么问题吗?谢谢
我有一个数组:
Array
(
[0] => jQuery-2.1.4.min.js
[1] => bootstrap.min.js
[2] => menu.js
)
Run Code Online (Sandbox Code Playgroud)
我怎样才能破坏这个结果:
<script src="jQuery-2.1.4.min.js"></script>
<script src="bootstrap.min.js"></script>
<script src="menu.js"></script>
Run Code Online (Sandbox Code Playgroud)
谢谢!