我有一个数组,如:
$hex = array("0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f");
Run Code Online (Sandbox Code Playgroud)
我想将6个随机元素作为字符串返回(例如1a3564):
$random_color = array_rand($hex,6);
Run Code Online (Sandbox Code Playgroud)
我认为爆发$ random_color可以解决问题:
echo implode($random_color);
Run Code Online (Sandbox Code Playgroud)
但是array_rand()存储了父数组中元素的位置,而不是这个数组元素,所以我得到类似的东西:
259111213而不是259bcd.
我知道这正是我想要的:
echo $hex[$random_color[0]];
echo $hex[$random_color[1]];
echo $hex[$random_color[2]];
echo $hex[$random_color[3]];
echo $hex[$random_color[4]];
echo $hex[$random_color[5]];
Run Code Online (Sandbox Code Playgroud)
但:
有没有办法在array_rand()中存储数组元素?为什么它首先存储元素的位置而不是元素?
做我想做的最好的方法是什么?
为什么array_rand()绝不选择一个字母作为第一个元素,几乎从不作为第二个/第三个(99%的生成颜色看起来像11111a 12345c 123456)?
我尝试从一个表中检索一个数组这个代码有什么问题?
$_fbexclude = mysql_query("SELECT fbempfang FROM fbinvite WHERE fbreturn = '1' ");
$fbexcludearray= mysql_fetch_array($_fbexclude);
// Convert the array
$excludes = implode(',', $fbexcludearray);
Run Code Online (Sandbox Code Playgroud)
从echo $excludes;它只给出了以下响应:1000033xxx161,1000033xxx161两次相同的fbempfang
我有这个:
<?php echo implode("<th></th>", $days); ?>
Run Code Online (Sandbox Code Playgroud)
虽然,输出:
Today<th></th>02-03<th></th>01-03<th></th>29-02<th></th>28-02<th></th>27-02<th></th>26-02
Run Code Online (Sandbox Code Playgroud)
正如你所看到的,<th> and </th>格式不正确,因为我想在它们之间有这样的日期($ days)变量<th>Today</th><th>02-03</th>依此类推......
我怎么能得到这个?
我需要从POST的关联数组构建更新查询
POST包含多个关联数组和几个键/值对
我可以理清要使用哪些数组,但我仍然坚持构建更新查询字符串
array1 (
i => 1 // This is used for each WHERE clause and is the row id
a => 2
b => 3
c => 4
)
array2 (
i => 2
a => 2
b => 3
c => 4
)
Run Code Online (Sandbox Code Playgroud)
我需要:"UPDATE表SET a ='2',b ='3',c ='4'WHERE id ='array [i]'"
我已经尝试了各种各样的foreach,而内部方法拼凑在一起从其他帖子拼凑而来,但没有一个处理这个特定的问题.任何帮助,将不胜感激.谢谢
我想知道implode()以什么顺序连接元素值.我希望它是在关键值的基础上做到的,但似乎并没有这样做.是否有其他功能可以让你这样做?
如果我有:
$test_arr = array(2 => 'there', 1 => 'Hi ', 3 => '!');
Run Code Online (Sandbox Code Playgroud)
并做
$stringy = implode($test_arr);
Run Code Online (Sandbox Code Playgroud)
变量$ stringy将包含字符串:'Hi there!'?
当我尝试使用implode时,我得到了'thereHi!',所以我猜测数组如何跟踪我定义元素的顺序然后内部使用该信息加入?
我有一个字符串结构如下:
"01;AA:02;AB:03;AC:"
Run Code Online (Sandbox Code Playgroud)
有没有办法使其成为$ _POST样式格式,其中:
$MyVar['01'] = "AA"
$MyVar['02'] = "AB"
$MyVar['03'] = "AC"
Run Code Online (Sandbox Code Playgroud)
?
当我完成更改时,我还想以某种方式将其重新打包成原始的字符串格式.(在内爆时不需要前导零,爆炸时可能不存在)
编辑:添加信息
InevntorySKU;InventoryQTY:
086;99:043;99:130;99:131;99:132;99:133;99:134;99:135;99:136;99:137;99:138;99:139;99:140;99:141;99:142;99:143;99:
Run Code Online (Sandbox Code Playgroud) 我在PHP数组中有一行,我想通过将键和值插入字符串并在我的Insert语句中使用这些字符串将该行插入mySQL数据库,如下所示:
$fields = implode(",", array_keys($_POST));
$newdata = implode(",", $_POST);
$query = (
"INSERT INTO Food_entered ($fields)
VALUES ('$newdata')");
$result = mysqli_query($dbc, $query);
Run Code Online (Sandbox Code Playgroud)
我能够创建字符串,它们看起来是正确的形式,但是没有插入行.看起来像一个简单的方法,但不知道我错过了什么.
我在wordpress网站上运行这个小功能.但我需要为它添加一些数据.希望我能得到帮助.
Function array_to_comma($data)
{
if (is_array($data) and count($data) > 0)
{
$data = implode(', ', $data);
return $data;
}
}
Run Code Online (Sandbox Code Playgroud)
哪个输出:
Some Data, Some Data, Some Data
Run Code Online (Sandbox Code Playgroud)
但我想添加一些HTML代码,一个跨度,但我不知道如何.所以它在渲染页面的源代码中看起来像这样.我看到它已经添加了一个逗号,但我无法想出添加更多数据,然后只是逗号出现在开头和结尾.像这样:
<span special="codes">Some Data</span>, <span special="codes">Some Data</span>, <span special="codes">Some Data</span>
Run Code Online (Sandbox Code Playgroud)
感谢您的期待!我是一个PHP菜鸟:)
编辑:我已成功使用下面的代码.来自elclanrs的回答.
function array_to_comma($data)
{
if (is_array($data) and count($data) > 0) {
$data = '<span special="code">'
. implode('</span>,<span special="code">', $data)
.'</span>';
return $data;
}
}
Run Code Online (Sandbox Code Playgroud) 在此脚本中找不到问题:
$delhash = array();
$resultxx = mysqli_query($datba1,"SELECT htag
FROM wall_hashtags
WHERE publicat='$permid'") or die('Error1');
while(list($dht) = mysqli_fetch_row($resultxx)) {
$delhash[] = $dht;
}
Run Code Online (Sandbox Code Playgroud)
以下更新不起作用:
$result_update = mysqli_query($datba1,"UPDATE wall_hashtags SET
numbr=numbr-1 WHERE htag IN (".implode(",", $delhash).")")
die(mysqli_error($datba1));
Run Code Online (Sandbox Code Playgroud)
您的SQL语法有错误; 检查与MySQL服务器版本对应的手册,以便在第1行的"第一,第二,第三"附近使用正确的语法
阵:
echo '<pre>'; print_r($delhash); echo '</pre>';
Array
(
[0] => first
[1] => second
[2] => third
)
Run Code Online (Sandbox Code Playgroud) 我有一个数组的数组,如:
$array = [["1.","COTV_LITE(1800)"],["2.","COTV_PREMIUM(2200)"]]
Run Code Online (Sandbox Code Playgroud)
现在,我想让这个数组内爆,使其返回如下内容:
我该如何实现?仅调用该implode()函数不起作用:
implode ('<br>', $array);
Run Code Online (Sandbox Code Playgroud)