我有以下数组($post_options),它可以以各种形式出现,关键是动态的:
它可能是这样的:
array(1){[95] => string(2)"25"}
它可能是这样的,关键可以是任何东西:
array(1){[05] => string(2)""}
我想添加一个控制语句来控制第一个键元素中的值是否有值.
我有这个代码:
if (!isset($post_options[0])) {
// value is empty
var_dump($post_options);
}
else {
// value has value
echo 'Option Selected';
}
Run Code Online (Sandbox Code Playgroud)
但这不起作用,当设置值而未设置时,它返回true.这里有什么解决方案?谢谢
因此,如果数组看起来像这样(第一个键的值为空):
array(1){[05] => string(2)""}
我想var_dump();在这种情况下
我正在尝试将 MySQLi 查询写入可下载的 CSV。以下标头为 CSV 打开一个流:
$fileName = ''; //empty file name, file name is cast later
header("Cache=Control: must-revalidate, post-check=0, pre-check=0");
header('Content-Description: File Transfer');
header("Content-type: text/csv");
header("Content-Disposition: attachment; filename={$fileName}");
header("Expires: 0");
header("Pragma: public");
$fh = @fopen( 'php://output', 'w' );
Run Code Online (Sandbox Code Playgroud)
在此之下,我有以下尝试查询并将查询的每一行转换为 CSV 文件中的新行:
if(isset($_POST["Submit"]) && ($_POST['Weight'] == 'Weight')){
$fileName .= 'OutputWeightNull.csv';
$query = mysqli_query($conn, 'SELECT * FROM `Some_Table` WHERE WEIGHT = 0 OR weight IS NULL')or die(mysql_error());
$result = mysqli_fetch_array($query) or die(mysql_error());
$headerDisplayed = false;
foreach ($result as $data){
if (!headerDisplayed){ …Run Code Online (Sandbox Code Playgroud) 我需要在一个名为 description 的列中附加和前置每个值 <p></p>
所以我需要附加每个值<p>并附加</p>
所以下面test会变成<p>test</p>.
任何人都可以提出一个可以处理这个问题的查询吗?
我是Perl的新手,我正在努力克服最初的学习曲线.
我有以下SQL语句:
SELECT
node_id
FROM
pagenodes
INNER JOIN
pageproducts
ON
pagenodes.node_id = pageproducts.nodeid
INNER JOIN
products
ON
pageproducts.prodid = products.prodid
WHERE
products.prodid = ?
LIMIT 1
Run Code Online (Sandbox Code Playgroud)
正如您所看到的,在查询中设置了LIMIT 1,我正在尝试从Perl脚本执行此查询,并将结果设置为变量.
到目前为止,我有以下内容:
my $sql =
'SELECT
node_id
FROM
pagenodes
INNER JOIN
pageproducts
ON
pagenodes.node_id = pageproducts.nodeid
INNER JOIN
products
ON
pageproducts.prodid = products.prodid
WHERE
products.prodid = ?
LIMIT 1';
my $sth = $dbh->prepare($sql);
my $sth->execute();
Run Code Online (Sandbox Code Playgroud)
我的问题是,我如何$prod_id作为WHERE参数传入,以及如何将结果设置为变量.谢谢
我正在使用scandir和foreach循环来向用户显示目录中的文件列表.我的代码如下:
$dir = scandir('/user1/caravans/public_html/wordpress/wp-content/uploads/wpallimport/files');
foreach($dir as $directory)
{
echo "<br/><input type='checkbox' name=\"File[]\" value='$directory'/>$directory<br>";
}
Run Code Online (Sandbox Code Playgroud)
问题是剧本也回应了"." 和一个".."(没有语音标记),是否有一种优雅的方式来删除这些?短或正则表达式.谢谢
我在这里工作在WordPress.我有以下代码:
if (is_product() && is_woocommerce() && $this->category_has_fiance() == true) {
$tabs['finance_tab'] = array(
'title' => __( 'Finance Options', 'woocommerce' ),
'priority' => 50,
'callback' => array ($this, 'woo_finance_tab_content')
);
return $tabs;
}
Run Code Online (Sandbox Code Playgroud)
这可以按照您的预期工作,并调用$woo_finance_tab_content.但是,我想将一些参数传递给$woo_finance_tab_contenttab.这种情况可能吗?
我有以下代码将数据传递给csv,但CSV中的列顺序看似随机(我将散列传递给CSV).我很难定义列的顺序.
有没有办法可以在我的%output_var哈希中修复哈希的位置,这样我就可以在CSV中有效地定义列顺序?
$common->print_header('text/csv','export_order_products.csv');
print common::to_csv(sort values %output_var)."\r\n";
my $cart_id;
foreach my $order (@data_to_export) {
$order->{'order-id'} =~ s/\.cgi//;
$order->{'order-item-id'} =~ s/\.cgi//;
$order->{'purchase-date'} =~ s/\.cgi//;
my @line;
for (sort {$output_var{$a} cmp $output_var{$b}; } keys %output_var) {
push @line, $order->{$_};
}
print common::to_csv(@line)."\r\n";
}
Run Code Online (Sandbox Code Playgroud)
CSV子:
sub to_csv {
my ($csv_line);
my (@fields) = @_;
my $i;
for ($i=0; $i<scalar(@fields); $i++) {
$fields[$i] =~ s/\r/\\r/gis;
$fields[$i] =~ s/\n/\\n/gis;
$fields[$i] =~ s/"/""/gis; # -- "
$fields[$i] =~ s/(.*,.*)/"$1"/gis;
$fields[$i] = '' if ($fields[$i] eq '0'); …Run Code Online (Sandbox Code Playgroud) 我还处于Perl的早期阶段,如果这很明显,那么道歉.
我在Perl中声明一个变量,如下所示:
my $new_filename = 'nope';
Run Code Online (Sandbox Code Playgroud)
现在,如果满足某个条件(假设它在这里),我试图重新分配$new_filename像这样的值:
my $new_filename = "$common::conf{'html_dir'}/images/banners/$lc_prodid.$filetype";
Run Code Online (Sandbox Code Playgroud)
我是他们将值分配给表:
my $sql_query = qq(INSERT INTO banner_image (link, title, active, imageloc, rank) VALUES ('$link_text','$banner_text','$active','$new_filename','$new_rank'));
Run Code Online (Sandbox Code Playgroud)
我遇到的问题$new_filename在数据库中始终显示为"nope".任何人都可以建议为什么会这样?
谢谢
我有一个名为的数组$brand_terms.我正在访问此数组中的两个对象.在这种情况下'name'和'slug'.然后我尝试在一个名为的关联数组中设置这些对象的值$values.代码如下:
$brand_terms = get_terms("pa_brand");
$values = array(
foreach ($brand_terms as $brand_term){
$brand_term->name => $brand_$term->slug,
}
);
Run Code Online (Sandbox Code Playgroud)
我遇到的问题是分隔符,.所以逗号结束了$brand_term->name => $brand_$term->slug,.如果循环位于数组中的最后一个值,则不需要逗号并且代码被破坏.有没有一种很好的方法可以从foreach循环的最后一次迭代中删除这个逗号?
谢谢
我最近使用以下过滤器和操作组合在 WooCommerce 管理中的“产品管理”部分添加了一列:manage_product_posts_columns, manage_product_posts_custom_column。
我的问题是,是否有一个钩子不允许我为此列添加过滤器?我找不到,但我确定有可能吗?
谢谢
我有以下代码,不幸的是它循环无限但我无法理解为什么:
$tot_age is 设置为604245119
while ($tot_age > 536467742) {
$tot_age - 31536000;
if ($tot_age < 536467742 ) {
// do something
break;
}
}
Run Code Online (Sandbox Code Playgroud)
所以我在这里尝试的是以下内容.如果$tot_age大于17年,则从$ tot_age迭代循环并减去12个月.然后我试图在$ tot_age少于17年的时候突破循环.我也会在这里应用一些逻辑.
谁能在这里看到问题?谢谢
我elsif在else if语句中有多个条件.
如果多个条件成立,语句的流程是什么?因此,在下面仅作为演示的简单示例中,是否达到了第二个elsif条件?
my $i = 1;
if ($i == 1){
}
elsif (i == 2){
}
elsif (i == 1){
}
else{
}
Run Code Online (Sandbox Code Playgroud) php ×7
perl ×4
arrays ×2
mysql ×2
wordpress ×2
csv ×1
if-statement ×1
mysqli ×1
php-5.6 ×1
sql ×1
while-loop ×1
woocommerce ×1