I have an array like this:
pnotifyArr[] = array(
"type" => "New ".$RowP[0]."</br>",
"title" => "<a href=\"/sys/mailbox/MailInbox.php?ID=$RowP[3]$rid\" onclick=\"javascript:update_status('$RefID')\" target=\"_blank\">".$TitleForShow."</a></br>",
"AssignedBy" => "From: ".trim($RowP[2]).".",
"RefID"=>$RefID,
"Status"=>$Status,
"Notice_type" => $TypeN,
"Notice_title" => $TitleForShow,
"Notice_AssignedBy" => $RowP[2]
);
which is retrieved from the database. But I need only the key values of Notice_type and Notice_title to be compared in all the instances.
if(count($pnotifyArr)>0)
{
$rows = sizeof($pnotifyArr);
$columns = sizeof($pnotifyArr[0]);
//$columnkeys = array_key_exists('Notice_type',$pnotifyArr[0]);
for ($i =0; $i < $columns; $i++)
{
for ($j =0; $j < $rows; $j++)
{
for($k = $j+1; $k < $rows; $k++)
{
if( $pnotifyArr[$j][$columnkeys[$i]] == $pnotifyArr[$k][$columnkeys[$i]]) //&& ($pnotifyArr[$j][$columnkeys[$i]] == $pnotifyArr[$k][$columnkeys[$i]]) )
$pnotifyArr[$k][$columnkeys[$i]] = "";
}
}
}
}
I don’t know how to get the values of these two specific keys recursively. Can anyone help me regarding this issue?
The above code gets me all the key values any which is not required in my case.
Thanks a lot for spending your time.
for ($i =0; $i < $columns; $i++)
{
for ($j =0; $j < $rows; $j++)
{
for($k = $j+1; $k < $rows; $k++)
{
//if( $pnotifyArr[$j][$typekeys[$i]] == $pnotifyArr[$k][$typekeys[$i]]) && ($pnotifyArr[$j][$titlekeys[$i]] == $pnotifyArr[$k][$titlekeys[$i]]) )
if( $pnotifyArr[$j]['Notice_type'] == $pnotifyArr[$k]['Notice_type'] && $pnotifyArr[$j]['Notice_title'] == $pnotifyArr[$k]['Notice_title'] )
$pnotifyArr[$k][$i] = "";
}
}
}
My output shows something like this…….. as below
for ($i =0; $i < $columns; $i++)
{
for ($j =0; $j < $rows; $j++)
{
for($k = $j+1; $k < $rows; $k++)
{
//if( $pnotifyArr[$j][$typekeys[$i]] == $pnotifyArr[$k][$typekeys[$i]]) && ($pnotifyArr[$j][$titlekeys[$i]] == $pnotifyArr[$k][$titlekeys[$i]]) )
if( $pnotifyArr[$j]['Notice_type'] == $pnotifyArr[$k]['Notice_type'] && $pnotifyArr[$j]['Notice_title'] == $pnotifyArr[$k]['Notice_title'] )
{
$pnotifyArr[$k][$i] = "";
}
}
}
}
foreach ($pnotifyArr as $key => $value) {
if ($value="") {
unset($pnotifyArr[$key]);
}
}
$pnotifyArr = array_values($pnotifyArr);
Please help me…. I dont understand Whats happening here……
Output:
test:{“pnotify”:[
{“type”:”New Mail</br>”,”title”:”RE: Hello</a></br>”,”AssignedBy”:”From: SAMANTHA CHUA PEIXUAN.”,”RefID”:”1fbc490c47ae00967623bf93f92b9262″,”Status”:”1″,”Notice_type”:”Mail”,”Notice_title”:”RE: Hello”,”Notice_AssignedBy”:”SAMANTHA CHUA PEIXUAN”},{“type”:”New Mail</br>”,”title”:”RE: Hello</a></br>”,”AssignedBy”:”From: SAMANTHA CHUA PEIXUAN.”,”RefID”:”ead077c279a7cfdf60882fcc75a8f23b”,”Status”:”1″,”Notice_type”:”Mail”,”Notice_title”:”RE: Hello”,”Notice_AssignedBy”:”SAMANTHA CHUA PEIXUAN”,”0″:””,”1″:””,”2″:””,”3″:””,”4″:””,”5″:””,”6″:””,”7″:””}]}
To get specific value in looping:
$pnotifyArr[$j]['Notice_type'];$pnotifyArr[$k]['Notice_title'];example:
To Remove Empty Key:
Then try print_r
print_r($pnotifyArr);