$test = array('hi');
$test += array('test','oh');
var_dump($test);
Run Code Online (Sandbox Code Playgroud)
+PHP中的数组意味着什么?
如何在php中加入两个多维数组?我有两个多维数组A和B.我需要连接A和B以形成一个新的数组C,如下所示
$A = array(
array("a1"=>1,"b1"=>2,"c1"=>"A"),
array("a1"=>1,"b1"=>16,"c1"=>"Z"),
array("a1"=>3,"b1"=>8,"c1"=>"A"));
$B = array(
array("a2"=>1,"b2"=>2,"b2"=>"A"),
array("a2"=>1,"b2"=>16,"b2"=>"G"),
array("a2"=>3,"b2"=>8,"b2"=>"A"));
Run Code Online (Sandbox Code Playgroud)
//加入A和B以形成C.
$C=array(
array("a1"=>1,"b1"=>2,"c1"=>"A"),
array("a1"=>1,"b1"=>16,"c1"=>"Z"),
array("a1"=>3,"b1"=>8,"c1"=>"A"),
array("a2"=>1,"b2"=>2,"b2"=>"A"),
array("a2"=>1,"b2"=>16,"b2"=>"G"),
array("a2"=>3,"b2"=>8,"b2"=>"A"));
Run Code Online (Sandbox Code Playgroud) 鉴于,我将不胜感激任何帮助.
我有7个单独的阵列与约.每个数组中有90,000个数字(我们称之为arrays1-arrays7).每个数组本身都没有重复的数字.但是,阵列之间可能存在重复.例如,array2没有重复项,但可以使用与arrays3和arrays4相同的数字.
问题:一旦所有7个阵列合并,我试图识别所有重复3次的数字.
我必须进行1000次计算,需要15分钟,但这不行,因为我必须运行40次 - 代码:
如果您知道另一种最适合此类计算的语言,请告诉我.任何扩展建议,如redis或gearman都有帮助.
for($kj=1; $kj<=1000; $kj++)
{
$result=array_merge($files_array1,$files_array2,$files_array3,$files_array4,$files_array5,$files_array6,$files_array7);
$result=array_count_values($result);
$fp_lines = fopen("equalTo3.txt", "w");
foreach($result as $key => $val)
{
if($result[$key]==3)
{
fwrite($fp_lines, $key."\r\n");
}
}
fclose($fp_lines);
}
Run Code Online (Sandbox Code Playgroud)
我也用字符串尝试了下面的代码,但是array_map调用和array_count值调用需要17分钟:
for($kj=1; $kj<=1000; $kj++)
{
$result='';
for ($ii = 0; $ii< 7; $ii++) {
$result .= $files_array[$hello_won[$ii]].'\r\n';
}
$result2=explode("\n",$result);//5mins
$result2=array_map("trim",$result2);//11mins
$result2=array_count_values($result2);//4-6mins
$fp_lines = fopen("equalTo3.txt", "w");
foreach($result2 as $key => $val)
{
if($result2[$key]==3)
{
fwrite($fp_lines, $key."\r\n");
}
}
fclose($fp_lines);
unset($result2);
Run Code Online (Sandbox Code Playgroud)
////////////////////////////////////////////////// /
@ziumin @ailvenge @scunliffe @ this.lau_ @monocell感谢所有发帖的人!我正在处理你的所有建议,并在我完成所有答案后明天接受答案.非常感谢!
我有一个array我想在foreach循环下合并请提供解决方案我该怎么做。
Array
(
[0] => Array
(
[id] => 377556
[name] => 8 Ball Pool iOS App - US *
)
)
Array
(
[0] => Array
(
[id] => 377555
[name] => test data
)
)
Run Code Online (Sandbox Code Playgroud)
我想要以下结果,所以请提供解决方案,我如何将数据合并到一个数组中。
Array
(
[0] => Array
(
[id] => 377556
[name] => 8 Ball Pool iOS App - US *
)
[1] => Array
(
[id] => 377555
[name] => test data
)
)
Run Code Online (Sandbox Code Playgroud) 目前,如果我这样做:
$array1 = [27476, 29173, 24551, 21109, 29754, 19116, 25924, 27406, 26878, 20866, 32889, 25975];
$array2 = [25959, 26427, 26775, 24968, 24501, 27218, 27441, 27353, 25074, 27344, 26794, 25355];
$data = array_merge(
array_merge_recursive(
$array1,
$array2
)
);
Run Code Online (Sandbox Code Playgroud)
我明白了:
array3 = [
0: 25959
1: 26427
2: 26775
3: 24968
4: 24501
5: 27218
6: 27441
7: 27353
8: 25074
9: 27344
10: 26794
11: 25355
12: 27476
13: 29173
14: 24551
15: 21109
16: 29754
17: 19116
18: 25924
19: …Run Code Online (Sandbox Code Playgroud) 我正在尝试减少一些代码,以使其看起来更干净:
if($target == "edit"){
$formBuilder->add('getTimestamp', DateType::class, array(
'widget' => 'single_text',
'format' => 'dd.MM.yyyy',
'html5' => false,
'attr' => array('class' => 'js-date form-control', 'style' => 'line-height: 20px;'), 'label' => $field['fieldName'],
));
} else {
$formBuilder->add('getTimestamp', DateType::class, array(
'widget' => 'single_text',
'data' => new \DateTime(),
'format' => 'dd.MM.yyyy',
'html5' => false,
'attr' => array('class' => 'js-date form-control', 'style' => 'line-height: 20px;'), 'label' => $field['fieldName'],
));
}
Run Code Online (Sandbox Code Playgroud)
这是我的方法:
if($target == "edit"){
$newdate = ['data' => new \DateTime()];
}
$formBuilder->add('getTimestamp', DateType::class, array(
'widget' => …Run Code Online (Sandbox Code Playgroud) arrays ×6
php ×6
filter ×1
formbuilder ×1
laravel ×1
oop ×1
optimization ×1
performance ×1
sorting ×1
symfony ×1